[INFO] fetching crate sundials-sys 0.6.2...
[INFO] testing sundials-sys-0.6.2 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate sundials-sys 0.6.2 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate sundials-sys 0.6.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sundials-sys 0.6.2
[INFO] tweaked toml for crates.io crate sundials-sys 0.6.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sundials-sys 0.6.2 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sundials-sys 0.6.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.0.83
[INFO] [stderr]   Downloaded cmake v0.1.50
[INFO] [stderr]   Downloaded pkg-config v0.3.30
[INFO] [stderr]   Downloaded shlex v1.2.0
[INFO] [stderr]   Downloaded errno-dragonfly v0.1.2
[INFO] [stderr]   Downloaded home v0.5.5
[INFO] [stderr]   Downloaded errno v0.3.3
[INFO] [stderr]   Downloaded glob v0.3.1
[INFO] [stderr]   Downloaded libloading v0.7.4
[INFO] [stderr]   Downloaded either v1.9.0
[INFO] [stderr]   Downloaded bitflags v2.4.0
[INFO] [stderr]   Downloaded once_cell v1.18.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.66
[INFO] [stderr]   Downloaded log v0.4.20
[INFO] [stderr]   Downloaded unicode-ident v1.0.11
[INFO] [stderr]   Downloaded clang-sys v1.6.1
[INFO] [stderr]   Downloaded prettyplease v0.2.15
[INFO] [stderr]   Downloaded aho-corasick v1.0.5
[INFO] [stderr]   Downloaded bindgen v0.68.1
[INFO] [stderr]   Downloaded bindgen v0.69.4
[INFO] [stderr]   Downloaded regex v1.9.5
[INFO] [stderr]   Downloaded syn v2.0.31
[INFO] [stderr]   Downloaded rustix v0.38.12
[INFO] [stderr]   Downloaded regex-syntax v0.7.5
[INFO] [stderr]   Downloaded libc v0.2.147
[INFO] [stderr]   Downloaded regex-automata v0.3.8
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.5
[INFO] [stderr]   Downloaded suitesparse_sys v0.1.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742
[INFO] running `Command { std: "docker" "start" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]    Compiling rustix v0.38.12
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.5
[INFO] [stderr]    Compiling bindgen v0.68.1
[INFO] [stderr]    Compiling home v0.5.5
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling shlex v1.2.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling clang-sys v1.6.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling regex-automata v0.3.8
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling regex v1.9.5
[INFO] [stderr]    Compiling sundials-sys v0.6.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42046
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...:: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set_...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { u32::cast_signed (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42234
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val ...
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = i32::cast_unsigned (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42624
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_uni...
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { i32::cast_unsigned (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suspicious definition of the runtime `malloc` symbol used by the standard library
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:100690
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { p...
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(usize) -> *mut c_void` (for the current target)
[INFO] [stdout]           found    `unsafe extern "C" fn(u64) -> *mut c_void`
[INFO] [stdout]   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "malloc")]`, or `#[link_name = "malloc"]`
[INFO] [stdout]   = help: allow this lint if the signature is compatible
[INFO] [stdout]   = note: `#[warn(suspicious_runtime_symbol_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suspicious definition of the runtime `realloc` symbol used by the standard library
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:100957
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(*mut c_void, usize) -> *mut c_void` (for the current target)
[INFO] [stdout]           found    `unsafe extern "C" fn(*mut c_void, u64) -> *mut c_void`
[INFO] [stdout]   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "realloc")]`, or `#[link_name = "realloc"]`
[INFO] [stdout]   = help: allow this lint if the signature is compatible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.42s
[INFO] running `Command { std: "docker" "inspect" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bf47b7c1c9075e756e3db4281e9af25c4dfb24ec29d2513a2cf48f91606d0742" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42046
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...:: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set_...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { u32::cast_signed (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42234
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val ...
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = i32::cast_unsigned (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42624
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_uni...
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { i32::cast_unsigned (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suspicious definition of the runtime `malloc` symbol used by the standard library
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:100690
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { p...
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(usize) -> *mut c_void` (for the current target)
[INFO] [stdout]           found    `unsafe extern "C" fn(u64) -> *mut c_void`
[INFO] [stdout]   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "malloc")]`, or `#[link_name = "malloc"]`
[INFO] [stdout]   = help: allow this lint if the signature is compatible
[INFO] [stdout]   = note: `#[warn(suspicious_runtime_symbol_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: suspicious definition of the runtime `realloc` symbol used by the standard library
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:100957
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(*mut c_void, usize) -> *mut c_void` (for the current target)
[INFO] [stdout]           found    `unsafe extern "C" fn(*mut c_void, u64) -> *mut c_void`
[INFO] [stdout]   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "realloc")]`, or `#[link_name = "realloc"]`
[INFO] [stdout]   = help: allow this lint if the signature is compatible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sundials-sys v0.6.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42046
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...:: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set_...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout] 3 + # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { u32::cast_signed (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/sundials-sys-98403a707c25e5fd/out/bindings.rs:3:42234
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val ...
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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) ; } } } # [derive (PartialEq , Copy , Clone , Hash , Debug , Default)] # [repr (C)] pub struct __BindgenComplex < T > { pub re : T , pub im : T } pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2Y : u32 = 0 ; pub const __GLIBC_USE_ISOC23 : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 202405 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_XOPEN2K24 : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_TIME_BITS64 : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const __GLIBC_USE_C23_STRTOL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 43 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const _____fpos_t_defined : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _____fpos64_t_defined : u32 = 1 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const __struct_FILE_defined : u32 = 1 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const __cookie_io_functions_t_defined : u32 = 1 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const EOF : i32 = - 1 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & [u8 ; 5] = b"/tmp\0" ; pub const L_tmpnam : u32 = 20 ; pub const TMP_MAX : u32 = 238328 ; pub const _BITS_STDIO_LIM_H : u32 = 1 ; pub const FILENAME_MAX : u32 = 4096 ; pub const L_ctermid : u32 = 9 ; pub const FOPEN_MAX : u32 = 16 ; pub const __HAVE_FLOAT128 : u32 = 1 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 1 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const _STDLIB_H : u32 = 1 ; pub const WNOHANG : u32 = 1 ; pub const WUNTRACED : u32 = 2 ; pub const WSTOPPED : u32 = 2 ; pub const WEXITED : u32 = 4 ; pub const WCONTINUED : u32 = 8 ; pub const WNOWAIT : u32 = 16777216 ; pub const __WNOTHREAD : u32 = 536870912 ; pub const __WALL : u32 = 1073741824 ; pub const __WCLONE : u32 = 2147483648 ; pub const __W_CONTINUED : u32 = 65535 ; pub const __WCOREFLAG : u32 = 128 ; pub const __ldiv_t_defined : u32 = 1 ; pub const __lldiv_t_defined : u32 = 1 ; pub const RAND_MAX : u32 = 2147483647 ; pub const EXIT_FAILURE : u32 = 1 ; pub const EXIT_SUCCESS : u32 = 0 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const _ALLOCA_H : u32 = 1 ; pub const SUNDIALS_VERSION : & [u8 ; 6] = b"7.1.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 7 ; pub const SUNDIALS_VERSION_MINOR : u32 = 1 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_GIT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_LOGGING_LEVEL : u32 = 2 ; pub const SUN_C_COMPILER : & [u8 ; 4] = b"GNU\0" ; pub const SUN_C_COMPILER_VERSION : & [u8 ; 7] = b"15.2.0\0" ; pub const SUN_C_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CXX_COMPILER_FLAGS : & [u8 ; 48] = b" -ffunction-sections -fdata-sections -fPIC -m64\0" ; pub const SUN_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_FORTRAN_COMPILER_FLAGS : & [u8 ; 1] = b"\0" ; pub const SUN_BUILD_TYPE : & [u8 ; 6] = b"Debug\0" ; pub const SUN_JOB_ID : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_JOB_START_TIME : & [u8 ; 15] = b"20261006191831\0" ; pub const SUN_TPL_LIST : & [u8 ; 1] = b"\0" ; pub const SUN_TPL_LIST_SIZE : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_SPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_GINKGO_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_HYPRE_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KLU_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_KOKKOS_KERNELS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_LAPACK_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MAGMA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_C_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_CXX_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_MPI_FORTRAN_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_ONEMKL_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_OPENMP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PETSC_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_PTHREADS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_RAJA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUDIST_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_SUPERLUMT_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_TRILLINOS_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_XBRAID_VERSION : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_MPI_ENABLED : u32 = 0 ; pub const SUNDIALS_SUPERLUMT_THREAD_TYPE : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_COMPILER : & [u8 ; 1] = b"\0" ; pub const SUN_CUDA_ARCHITECTURES : & [u8 ; 1] = b"\0" ; pub const SUN_HIP_VERSION : & [u8 ; 1] = b"\0" ; pub const SUN_AMDGPU_TARGETS : & [u8 ; 1] = b"\0" ; pub const SUNDIALS_ARKODE : u32 = 1 ; pub const SUNDIALS_CVODE : u32 = 1 ; pub const SUNDIALS_IDA : u32 = 1 ; pub const SUNDIALS_KINSOL : u32 = 1 ; pub const SUNDIALS_NVECTOR_SERIAL : u32 = 1 ; pub const SUNDIALS_NVECTOR_MANYVECTOR : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_BAND : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_DENSE : u32 = 1 ; pub const SUNDIALS_SUNMATRIX_SPARSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_BAND : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_DENSE : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_PCG : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPBCGS : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPFGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPGMR : u32 = 1 ; pub const SUNDIALS_SUNLINSOL_SPTFQMR : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_NEWTON : u32 = 1 ; pub const SUNDIALS_SUNNONLINSOL_FIXEDPOINT : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const _BITS_STDINT_LEAST_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUN_COMM_NULL : :: std :: os :: raw :: c_int = 0 ; pub const _ASSERT_H : u32 = 1 ; pub const __ASSERT_VARIADIC : u32 = 0 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SUNLS_ATIMES_NULL : i32 = - 804 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = - 805 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = - 806 ; pub const SUNLS_PSOLVE_NULL : i32 = - 807 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = - 808 ; pub const SUNLS_GS_FAIL : i32 = - 810 ; pub const SUNLS_QRSOL_FAIL : i32 = - 811 ; pub const SUNLS_RECOV_FAILURE : u32 = 800 ; pub const SUNLS_RES_REDUCED : u32 = 801 ; pub const SUNLS_CONV_FAIL : u32 = 802 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 803 ; pub const SUNLS_PSET_FAIL_REC : u32 = 804 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 805 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 806 ; pub const SUNLS_QRFACT_FAIL : u32 = 807 ; pub const SUNLS_LUFACT_FAIL : u32 = 808 ; pub const SUNLS_MSG_RESIDUAL : & [u8 ; 41] = b"\t\tlin. iteration %ld, lin. residual: %g\n\0" ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SUNSPTFQMR_MAXL_DEFAULT : u32 = 5 ; pub const CSC_MAT : u32 = 0 ; pub const CSR_MAT : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = - 2147483648 ; pub const FP_ILOGBNAN : i32 = - 2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SUN_NLS_CONTINUE : :: std :: os :: raw :: c_int = 901 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 902 ; pub const SUN_NLS_MSG_RESIDUAL : & [u8 ; 46] = b"\tnonlin. iteration %ld, nonlin. residual: %g\n\0" ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = - 1 ; pub const CVLS_LMEM_NULL : i32 = - 2 ; pub const CVLS_ILL_INPUT : i32 = - 3 ; pub const CVLS_MEM_FAIL : i32 = - 4 ; pub const CVLS_PMEM_NULL : i32 = - 5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = - 6 ; pub const CVLS_JACFUNC_RECVR : i32 = - 7 ; pub const CVLS_SUNMAT_FAIL : i32 = - 8 ; pub const CVLS_SUNLS_FAIL : i32 = - 9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = - 3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = - 4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = - 11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const CV_NLS_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const CV_MEM_FAIL : :: std :: os :: raw :: c_int = - 20 ; pub const CV_MEM_NULL : :: std :: os :: raw :: c_int = - 21 ; pub const CV_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const CV_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const CV_BAD_K : :: std :: os :: raw :: c_int = - 24 ; pub const CV_BAD_T : :: std :: os :: raw :: c_int = - 25 ; pub const CV_BAD_DKY : :: std :: os :: raw :: c_int = - 26 ; pub const CV_TOO_CLOSE : :: std :: os :: raw :: c_int = - 27 ; pub const CV_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const CV_PROJ_MEM_NULL : :: std :: os :: raw :: c_int = - 29 ; pub const CV_PROJFUNC_FAIL : :: std :: os :: raw :: c_int = - 30 ; pub const CV_REPTD_PROJFUNC_ERR : :: std :: os :: raw :: c_int = - 31 ; pub const CV_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 32 ; pub const CV_UNRECOGNIZED_ERR : :: std :: os :: raw :: c_int = - 99 ; pub const IDALS_SUCCESS : u32 = 0 ; pub const IDALS_MEM_NULL : i32 = - 1 ; pub const IDALS_LMEM_NULL : i32 = - 2 ; pub const IDALS_ILL_INPUT : i32 = - 3 ; pub const IDALS_MEM_FAIL : i32 = - 4 ; pub const IDALS_PMEM_NULL : i32 = - 5 ; pub const IDALS_JACFUNC_UNRECVR : i32 = - 6 ; pub const IDALS_JACFUNC_RECVR : i32 = - 7 ; pub const IDALS_SUNMAT_FAIL : i32 = - 8 ; pub const IDALS_SUNLS_FAIL : i32 = - 9 ; pub const IDA_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const IDA_YA_YDP_INIT : :: std :: os :: raw :: c_int = 1 ; pub const IDA_Y_INIT : :: std :: os :: raw :: c_int = 2 ; pub const IDA_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const IDA_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const IDA_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const IDA_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const IDA_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = - 1 ; pub const IDA_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = - 2 ; pub const IDA_ERR_FAIL : :: std :: os :: raw :: c_int = - 3 ; pub const IDA_CONV_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const IDA_LINIT_FAIL : :: std :: os :: raw :: c_int = - 5 ; pub const IDA_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 6 ; pub const IDA_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 7 ; pub const IDA_RES_FAIL : :: std :: os :: raw :: c_int = - 8 ; pub const IDA_REP_RES_ERR : :: std :: os :: raw :: c_int = - 9 ; pub const IDA_RTFUNC_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const IDA_CONSTR_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const IDA_FIRST_RES_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const IDA_LINESEARCH_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const IDA_NO_RECOVERY : :: std :: os :: raw :: c_int = - 14 ; pub const IDA_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = - 15 ; pub const IDA_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = - 16 ; pub const IDA_NLS_FAIL : :: std :: os :: raw :: c_int = - 17 ; pub const IDA_MEM_NULL : :: std :: os :: raw :: c_int = - 20 ; pub const IDA_MEM_FAIL : :: std :: os :: raw :: c_int = - 21 ; pub const IDA_ILL_INPUT : :: std :: os :: raw :: c_int = - 22 ; pub const IDA_NO_MALLOC : :: std :: os :: raw :: c_int = - 23 ; pub const IDA_BAD_EWT : :: std :: os :: raw :: c_int = - 24 ; pub const IDA_BAD_K : :: std :: os :: raw :: c_int = - 25 ; pub const IDA_BAD_T : :: std :: os :: raw :: c_int = - 26 ; pub const IDA_BAD_DKY : :: std :: os :: raw :: c_int = - 27 ; pub const IDA_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 28 ; pub const IDA_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 29 ; pub const IDA_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = - 99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = - 1 ; pub const KINLS_LMEM_NULL : i32 = - 2 ; pub const KINLS_ILL_INPUT : i32 = - 3 ; pub const KINLS_MEM_FAIL : i32 = - 4 ; pub const KINLS_PMEM_NULL : i32 = - 5 ; pub const KINLS_JACFUNC_ERR : i32 = - 6 ; pub const KINLS_SUNMAT_FAIL : i32 = - 7 ; pub const KINLS_SUNLS_FAIL : i32 = - 8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = - 1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = - 2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = - 3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = - 4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = - 5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = - 6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = - 7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = - 8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = - 9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = - 10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = - 11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = - 12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = - 13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = - 15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = - 16 ; pub const KIN_CONTEXT_ERR : :: std :: os :: raw :: c_int = - 17 ; pub const KIN_ORTH_MGS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_ORTH_ICWY : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ORTH_CGS2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ORTH_DCGS2 : :: std :: os :: raw :: c_int = 3 ; pub const KIN_ETACHOICE1 : :: std :: os :: raw :: c_int = 1 ; pub const KIN_ETACHOICE2 : :: std :: os :: raw :: c_int = 2 ; pub const KIN_ETACONSTANT : :: std :: os :: raw :: c_int = 3 ; pub const KIN_NONE : :: std :: os :: raw :: c_int = 0 ; pub const KIN_LINESEARCH : :: std :: os :: raw :: c_int = 1 ; pub const KIN_PICARD : :: std :: os :: raw :: c_int = 2 ; pub const KIN_FP : :: std :: os :: raw :: c_int = 3 ; pub type __gnuc_va_list = __builtin_va_list ; pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { const UNINIT : :: std :: mem :: MaybeUninit < __fsid_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub struct __mbstate_t { pub __count : :: std :: os :: raw :: c_int , pub __value : __mbstate_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch : :: std :: os :: raw :: c_uint , pub __wchb : [:: std :: os :: raw :: c_char ; 4usize] , } # [test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wch) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wch))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wchb) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t__bindgen_ty_1) , "::" , stringify ! (__wchb))) ; } # [test] fn bindgen_test_layout___mbstate_t () { const UNINIT : :: std :: mem :: MaybeUninit < __mbstate_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __mbstate_t > () , 8usize , concat ! ("Size of: " , stringify ! (__mbstate_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __mbstate_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__mbstate_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__mbstate_t) , "::" , stringify ! (__value))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos_t { pub __pos : __off_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos_t) , "::" , stringify ! (__state))) ; } pub type __fpos_t = _G_fpos_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct _G_fpos64_t { pub __pos : __off64_t , pub __state : __mbstate_t , } # [test] fn bindgen_test_layout__G_fpos64_t () { const UNINIT : :: std :: mem :: MaybeUninit < _G_fpos64_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _G_fpos64_t > () , 16usize , concat ! ("Size of: " , stringify ! (_G_fpos64_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _G_fpos64_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_G_fpos64_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pos) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__pos))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __state) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_G_fpos64_t) , "::" , stringify ! (__state))) ; } pub type __fpos64_t = _G_fpos64_t ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [test] fn bindgen_test_layout__IO_FILE () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_FILE > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_FILE > () , 216usize , concat ! ("Size of: " , stringify ! (_IO_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_FILE > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_FILE))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _flags) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_flags))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_ptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_end) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_read_base) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_read_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_base) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_write_end) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_write_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_base) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_buf_end) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_buf_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_base) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_backup_base) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_backup_base))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _IO_save_end) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_IO_save_end))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _markers) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_markers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _chain) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_chain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _fileno) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_fileno))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _short_backupbuf) as usize - ptr as usize } , 119usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_short_backupbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _old_offset) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_old_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _cur_column) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_cur_column))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _vtable_offset) as usize - ptr as usize } , 130usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_vtable_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _shortbuf) as usize - ptr as usize } , 131usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_shortbuf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _lock) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _offset) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _codecvt) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_codecvt))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _wide_data) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_wide_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_list) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _freeres_buf) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_freeres_buf))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _prevchain) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_prevchain))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _mode) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_mode))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused3) as usize - ptr as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _total_written) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_total_written))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . _unused2) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_IO_FILE) , "::" , stringify ! (_unused2))) ; } impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } pub type cookie_read_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_write_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __nbytes : usize) -> __ssize_t > ; pub type cookie_seek_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type cookie_close_function_t = :: std :: option :: Option < unsafe extern "C" fn (__cookie : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , } # [test] fn bindgen_test_layout__IO_cookie_io_functions_t () { const UNINIT : :: std :: mem :: MaybeUninit < _IO_cookie_io_functions_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _IO_cookie_io_functions_t > () , 32usize , concat ! ("Size of: " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (:: std :: mem :: align_of :: < _IO_cookie_io_functions_t > () , 8usize , concat ! ("Alignment of " , stringify ! (_IO_cookie_io_functions_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . read) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seek) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . close) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_IO_cookie_io_functions_t) , "::" , stringify ! (close))) ; } pub type cookie_io_functions_t = _IO_cookie_io_functions_t ; pub type va_list = __gnuc_va_list ; pub type off_t = __off_t ; pub type fpos_t = __fpos_t ; extern "C" { pub static mut stdin : * mut FILE ; } extern "C" { pub static mut stdout : * mut FILE ; } extern "C" { pub static mut stderr : * mut FILE ; } extern "C" { pub fn remove (__filename : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rename (__old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn renameat (__oldfd : :: std :: os :: raw :: c_int , __old : * const :: std :: os :: raw :: c_char , __newfd : :: std :: os :: raw :: c_int , __new : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn tmpfile () -> * mut FILE ; } extern "C" { pub fn tmpnam (arg1 : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tmpnam_r (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn tempnam (__dir : * const :: std :: os :: raw :: c_char , __pfx : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fflush (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn freopen (__filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> * mut FILE ; } extern "C" { pub fn fdopen (__fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn fopencookie (__magic_cookie : * mut :: std :: os :: raw :: c_void , __modes : * const :: std :: os :: raw :: c_char , __io_funcs : cookie_io_functions_t) -> * mut FILE ; } extern "C" { pub fn fmemopen (__s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn open_memstream (__bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize) -> * mut FILE ; } extern "C" { pub fn setbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn setvbuf (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer (__stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize) ; } extern "C" { pub fn setlinebuf (__stream : * mut FILE) ; } extern "C" { pub fn fprintf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf (__s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsnprintf (__s : * mut :: std :: os :: raw :: c_char , __maxlen : :: std :: os :: raw :: c_ulong , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vasprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __f : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn asprintf (__ptr : * mut * mut :: std :: os :: raw :: c_char , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf (__fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } pub type __cfloat128 = __BindgenComplex < u128 > ; pub type _Float128 = u128 ; pub type _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; extern "C" { # [link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1 (__stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_scanf"] pub fn scanf1 (__format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1 (__s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1 (__format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { # [link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1 (__s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked (__c : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw (__w : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets (__s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getdelim (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn getline (__lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE) -> __ssize_t ; } extern "C" { pub fn fputs (__s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc (__c : :: std :: os :: raw :: c_int , __stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __stream : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fwrite (__ptr : * const :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong , __n : :: std :: os :: raw :: c_ulong , __s : * mut FILE) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn fread_unlocked (__ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fwrite_unlocked (__ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE) -> usize ; } extern "C" { pub fn fseek (__stream : * mut FILE , __off : :: std :: os :: raw :: c_long , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftell (__stream : * mut FILE) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn rewind (__stream : * mut FILE) ; } extern "C" { pub fn fseeko (__stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ftello (__stream : * mut FILE) -> __off_t ; } extern "C" { pub fn fgetpos (__stream : * mut FILE , __pos : * mut fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fsetpos (__stream : * mut FILE , __pos : * const fpos_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr (__stream : * mut FILE) ; } extern "C" { pub fn feof (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearerr_unlocked (__stream : * mut FILE) ; } extern "C" { pub fn feof_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ferror_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn perror (__s : * const :: std :: os :: raw :: c_char) ; } extern "C" { pub fn fileno (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fileno_unlocked (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pclose (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn popen (__command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char) -> * mut FILE ; } extern "C" { pub fn ctermid (__s : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn flockfile (__stream : * mut FILE) ; } extern "C" { pub fn ftrylockfile (__stream : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn funlockfile (__stream : * mut FILE) ; } extern "C" { pub fn __uflow (arg1 : * mut FILE) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow (arg1 : * mut FILE , arg2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct div_t { pub quot : :: std :: os :: raw :: c_int , pub rem : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_div_t () { const UNINIT : :: std :: mem :: MaybeUninit < div_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < div_t > () , 8usize , concat ! ("Size of: " , stringify ! (div_t))) ; assert_eq ! (:: std :: mem :: align_of :: < div_t > () , 4usize , concat ! ("Alignment of " , stringify ! (div_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (div_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ldiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_ldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < ldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < ldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (ldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < ldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (ldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ldiv_t) , "::" , stringify ! (rem))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct lldiv_t { pub quot : :: std :: os :: raw :: c_longlong , pub rem : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_lldiv_t () { const UNINIT : :: std :: mem :: MaybeUninit < lldiv_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < lldiv_t > () , 16usize , concat ! ("Size of: " , stringify ! (lldiv_t))) ; assert_eq ! (:: std :: mem :: align_of :: < lldiv_t > () , 8usize , concat ! ("Alignment of " , stringify ! (lldiv_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . quot) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (quot))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rem) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (lldiv_t) , "::" , stringify ! (rem))) ; } extern "C" { pub fn __ctype_get_mb_cur_max () -> usize ; } extern "C" { pub fn atof (__nptr : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn atoi (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn atol (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn atoll (__nptr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtod (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn strtof (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> f32 ; } extern "C" { pub fn strtold (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char) -> u128 ; } extern "C" { pub fn strtol (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn strtoul (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn strtoq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtouq (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn strtoll (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn strtoull (__nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_ulonglong ; } extern "C" { pub fn l64a (__n : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn a64l (__s : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_long ; } pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { const UNINIT : :: std :: mem :: MaybeUninit < __sigset_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __val) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [test] fn bindgen_test_layout_timeval () { const UNINIT : :: std :: mem :: MaybeUninit < timeval > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timeval > () , 16usize , concat ! ("Size of: " , stringify ! (timeval))) ; assert_eq ! (:: std :: mem :: align_of :: < timeval > () , 8usize , concat ! ("Alignment of " , stringify ! (timeval))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_usec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timeval) , "::" , stringify ! (tv_usec))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [test] fn bindgen_test_layout_timespec () { const UNINIT : :: std :: mem :: MaybeUninit < timespec > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < timespec > () , 16usize , concat ! ("Size of: " , stringify ! (timespec))) ; assert_eq ! (:: std :: mem :: align_of :: < timespec > () , 8usize , concat ! ("Alignment of " , stringify ! (timespec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_sec) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_sec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . tv_nsec) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (timespec) , "::" , stringify ! (tv_nsec))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [test] fn bindgen_test_layout_fd_set () { const UNINIT : :: std :: mem :: MaybeUninit < fd_set > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (fd_set))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __fds_bits) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (fd_set) , "::" , stringify ! (__fds_bits))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __low) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __high) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { const UNINIT : :: std :: mem :: MaybeUninit < __atomic_wide_counter > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value64) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __value32) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_list > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __prev) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_internal_slist > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __next) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_mutex_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __lock) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __count) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __owner) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __nusers) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __kind) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __spins) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused) as usize - ptr as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__unused))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __list) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __pad1 : :: std :: os :: raw :: c_ulong , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_rwlock_arch_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __readers) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrphase_futex) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __writers_futex) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad3) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad4) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __cur_writer) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __shared) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad1) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __pad2) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __flags) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , pub __unused_initialized_1 : :: std :: os :: raw :: c_uint , pub __unused_initialized_2 : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_cond_s () { const UNINIT : :: std :: mem :: MaybeUninit < __pthread_cond_s > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wseq) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_start) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_size) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g1_orig_size) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __wrefs) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __g_signals) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_1) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __unused_initialized_2) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__unused_initialized_2))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { const UNINIT : :: std :: mem :: MaybeUninit < __once_flag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutexattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_condattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_condattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_attr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_attr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_mutex_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_mutex_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , } # [test] fn bindgen_test_layout_pthread_cond_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_cond_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlock_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __data) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_rwlockattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , } # [test] fn bindgen_test_layout_pthread_barrier_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrier_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { const UNINIT : :: std :: mem :: MaybeUninit < pthread_barrierattr_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __size) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __align) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } extern "C" { pub fn random () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srandom (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn initstate (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn setstate (__statebuf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct random_data { pub fptr : * mut i32 , pub rptr : * mut i32 , pub state : * mut i32 , pub rand_type : :: std :: os :: raw :: c_int , pub rand_deg : :: std :: os :: raw :: c_int , pub rand_sep : :: std :: os :: raw :: c_int , pub end_ptr : * mut i32 , } # [test] fn bindgen_test_layout_random_data () { const UNINIT : :: std :: mem :: MaybeUninit < random_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < random_data > () , 48usize , concat ! ("Size of: " , stringify ! (random_data))) ; assert_eq ! (:: std :: mem :: align_of :: < random_data > () , 8usize , concat ! ("Alignment of " , stringify ! (random_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (fptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rptr) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . state) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_type) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_type))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_deg) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_deg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rand_sep) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (rand_sep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . end_ptr) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (random_data) , "::" , stringify ! (end_ptr))) ; } extern "C" { pub fn random_r (__buf : * mut random_data , __result : * mut i32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srandom_r (__seed : :: std :: os :: raw :: c_uint , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn initstate_r (__seed : :: std :: os :: raw :: c_uint , __statebuf : * mut :: std :: os :: raw :: c_char , __statelen : usize , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setstate_r (__statebuf : * mut :: std :: os :: raw :: c_char , __buf : * mut random_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rand () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand (__seed : :: std :: os :: raw :: c_uint) ; } extern "C" { pub fn rand_r (__seed : * mut :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drand48 () -> f64 ; } extern "C" { pub fn erand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> f64 ; } extern "C" { pub fn lrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn nrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn mrand48 () -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn jrand48 (__xsubi : * mut :: std :: os :: raw :: c_ushort) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn srand48 (__seedval : :: std :: os :: raw :: c_long) ; } extern "C" { pub fn seed48 (__seed16v : * mut :: std :: os :: raw :: c_ushort) -> * mut :: std :: os :: raw :: c_ushort ; } extern "C" { pub fn lcong48 (__param : * mut :: std :: os :: raw :: c_ushort) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct drand48_data { pub __x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __old_x : [:: std :: os :: raw :: c_ushort ; 3usize] , pub __c : :: std :: os :: raw :: c_ushort , pub __init : :: std :: os :: raw :: c_ushort , pub __a : :: std :: os :: raw :: c_ulonglong , } # [test] fn bindgen_test_layout_drand48_data () { const UNINIT : :: std :: mem :: MaybeUninit < drand48_data > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < drand48_data > () , 24usize , concat ! ("Size of: " , stringify ! (drand48_data))) ; assert_eq ! (:: std :: mem :: align_of :: < drand48_data > () , 8usize , concat ! ("Alignment of " , stringify ! (drand48_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __x) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __old_x) as usize - ptr as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__old_x))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __c) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__c))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __init) as usize - ptr as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__init))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __a) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (drand48_data) , "::" , stringify ! (__a))) ; } extern "C" { pub fn drand48_r (__buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn erand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mrand48_r (__buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn jrand48_r (__xsubi : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data , __result : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn srand48_r (__seedval : :: std :: os :: raw :: c_long , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn seed48_r (__seed16v : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lcong48_r (__param : * mut :: std :: os :: raw :: c_ushort , __buffer : * mut drand48_data) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn arc4random () -> __uint32_t ; } extern "C" { pub fn arc4random_buf (__buf : * mut :: std :: os :: raw :: c_void , __size : usize) ; } extern "C" { pub fn arc4random_uniform (__upper_bound : __uint32_t) -> __uint32_t ; } extern "C" { pub fn malloc (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn calloc (__nmemb : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn realloc (__ptr : * mut :: std :: os :: raw :: c_void , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn free (__ptr : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn reallocarray (__ptr : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn alloca (__size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn valloc (__size : usize) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn posix_memalign (__memptr : * mut * mut :: std :: os :: raw :: c_void , __alignment : usize , __size : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn aligned_alloc (__alignment : :: std :: os :: raw :: c_ulong , __size : :: std :: os :: raw :: c_ulong) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn abort () -> ! ; } extern "C" { pub fn atexit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn at_quick_exit (__func : :: std :: option :: Option < unsafe extern "C" fn () >) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn on_exit (__func : :: std :: option :: Option < unsafe extern "C" fn (__status : :: std :: os :: raw :: c_int , __arg : * mut :: std :: os :: raw :: c_void) > , __arg : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn quick_exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn _Exit (__status : :: std :: os :: raw :: c_int) -> ! ; } extern "C" { pub fn getenv (__name : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn putenv (__string : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setenv (__name : * const :: std :: os :: raw :: c_char , __value : * const :: std :: os :: raw :: c_char , __replace : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn unsetenv (__name : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clearenv () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mktemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn mkstemp (__template : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkstemps (__template : * mut :: std :: os :: raw :: c_char , __suffixlen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mkdtemp (__template : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn system (__command : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn realpath (__name : * const :: std :: os :: raw :: c_char , __resolved : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } pub type __compar_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const :: std :: os :: raw :: c_void , arg2 : * const :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn bsearch (__key : * const :: std :: os :: raw :: c_void , __base : * const :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn qsort (__base : * mut :: std :: os :: raw :: c_void , __nmemb : usize , __size : usize , __compar : __compar_fn_t) ; } extern "C" { pub fn abs (__x : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn labs (__x : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llabs (__x : :: std :: os :: raw :: c_longlong) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn div (__numer : :: std :: os :: raw :: c_int , __denom : :: std :: os :: raw :: c_int) -> div_t ; } extern "C" { pub fn ldiv (__numer : :: std :: os :: raw :: c_long , __denom : :: std :: os :: raw :: c_long) -> ldiv_t ; } extern "C" { pub fn lldiv (__numer : :: std :: os :: raw :: c_longlong , __denom : :: std :: os :: raw :: c_longlong) -> lldiv_t ; } extern "C" { pub fn ecvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn fcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gcvt (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qecvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qfcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn qgcvt (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ecvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fcvt_r (__value : f64 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qecvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn qfcvt_r (__value : u128 , __ndigit : :: std :: os :: raw :: c_int , __decpt : * mut :: std :: os :: raw :: c_int , __sign : * mut :: std :: os :: raw :: c_int , __buf : * mut :: std :: os :: raw :: c_char , __len : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mblen (__s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbtowc (__pwc : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn wctomb (__s : * mut :: std :: os :: raw :: c_char , __wchar : wchar_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mbstowcs (__pwcs : * mut wchar_t , __s : * const :: std :: os :: raw :: c_char , __n : usize) -> usize ; } extern "C" { pub fn wcstombs (__s : * mut :: std :: os :: raw :: c_char , __pwcs : * const wchar_t , __n : usize) -> usize ; } extern "C" { pub fn rpmatch (__response : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getsubopt (__optionp : * mut * mut :: std :: os :: raw :: c_char , __tokens : * const * mut :: std :: os :: raw :: c_char , __valuep : * mut * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getloadavg (__loadavg : * mut f64 , __nelem : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { const UNINIT : :: std :: mem :: MaybeUninit < max_align_t > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce1) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . __clang_max_align_nonce2) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type sunrealtype = f64 ; pub type sunindextype = i64 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_TABLE : SUNOutputFormat = 0 ; pub const SUNOutputFormat_SUN_OUTPUTFORMAT_CSV : SUNOutputFormat = 1 ; pub type SUNOutputFormat = :: std :: os :: raw :: c_uint ; pub type SUNErrCode = :: std :: os :: raw :: c_int ; pub type SUNContext = * mut SUNContext_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNErrHandler_ { _unused : [u8 ; 0] , } pub type SUNErrHandler = * mut SUNErrHandler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNProfiler_ { _unused : [u8 ; 0] , } pub type SUNProfiler = * mut SUNProfiler_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNLogger_ { _unused : [u8 ; 0] , } pub type SUNLogger = * mut SUNLogger_ ; pub type SUNErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) > ; pub type SUNComm = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNContext_ { pub profiler : SUNProfiler , pub own_profiler : :: std :: os :: raw :: c_int , pub logger : SUNLogger , pub own_logger : :: std :: os :: raw :: c_int , pub last_err : SUNErrCode , pub err_handler : SUNErrHandler , pub comm : SUNComm , } # [test] fn bindgen_test_layout_SUNContext_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNContext_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNContext_ > () , 48usize , concat ! ("Size of: " , stringify ! (SUNContext_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNContext_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNContext_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . profiler) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_profiler) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_profiler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . logger) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_logger) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (own_logger))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_err) as usize - ptr as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (last_err))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . err_handler) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (err_handler))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . comm) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNContext_) , "::" , stringify ! (comm))) ; } extern "C" { pub fn SUNContext_Create (comm : SUNComm , sunctx_out : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PeekLastError (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PushErrHandler (sunctx : SUNContext , err_fn : SUNErrHandlerFn , err_user_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNContext_PopErrHandler (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_ClearErrHandlers (sunctx : SUNContext) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetProfiler (sunctx : SUNContext , profiler : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetProfiler (sunctx : SUNContext , profiler : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNContext_GetLogger (sunctx : SUNContext , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_SetLogger (sunctx : SUNContext , logger : SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNContext_Free (ctx : * mut SUNContext) -> SUNErrCode ; } extern "C" { pub fn __assert_fail (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert_perror_fail (__errnum : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_uint , __function : * const :: std :: os :: raw :: c_char) -> ! ; } extern "C" { pub fn __assert (__assertion : * const :: std :: os :: raw :: c_char , __file : * const :: std :: os :: raw :: c_char , __line : :: std :: os :: raw :: c_int) -> ! ; } pub const SUN_ERR_MINIMUM : _bindgen_ty_1 = - 10000 ; pub const SUN_ERR_ARG_CORRUPT : _bindgen_ty_1 = - 9999 ; pub const SUN_ERR_ARG_INCOMPATIBLE : _bindgen_ty_1 = - 9998 ; pub const SUN_ERR_ARG_OUTOFRANGE : _bindgen_ty_1 = - 9997 ; pub const SUN_ERR_ARG_WRONGTYPE : _bindgen_ty_1 = - 9996 ; pub const SUN_ERR_ARG_DIMSMISMATCH : _bindgen_ty_1 = - 9995 ; pub const SUN_ERR_GENERIC : _bindgen_ty_1 = - 9994 ; pub const SUN_ERR_CORRUPT : _bindgen_ty_1 = - 9993 ; pub const SUN_ERR_OUTOFRANGE : _bindgen_ty_1 = - 9992 ; pub const SUN_ERR_FILE_OPEN : _bindgen_ty_1 = - 9991 ; pub const SUN_ERR_OP_FAIL : _bindgen_ty_1 = - 9990 ; pub const SUN_ERR_MEM_FAIL : _bindgen_ty_1 = - 9989 ; pub const SUN_ERR_MALLOC_FAIL : _bindgen_ty_1 = - 9988 ; pub const SUN_ERR_EXT_FAIL : _bindgen_ty_1 = - 9987 ; pub const SUN_ERR_DESTROY_FAIL : _bindgen_ty_1 = - 9986 ; pub const SUN_ERR_NOT_IMPLEMENTED : _bindgen_ty_1 = - 9985 ; pub const SUN_ERR_USER_FCN_FAIL : _bindgen_ty_1 = - 9984 ; pub const SUN_ERR_PROFILER_MAPFULL : _bindgen_ty_1 = - 9983 ; pub const SUN_ERR_PROFILER_MAPGET : _bindgen_ty_1 = - 9982 ; pub const SUN_ERR_PROFILER_MAPINSERT : _bindgen_ty_1 = - 9981 ; pub const SUN_ERR_PROFILER_MAPKEYNOTFOUND : _bindgen_ty_1 = - 9980 ; pub const SUN_ERR_PROFILER_MAPSORT : _bindgen_ty_1 = - 9979 ; pub const SUN_ERR_SUNCTX_CORRUPT : _bindgen_ty_1 = - 9978 ; pub const SUN_ERR_MPI_FAIL : _bindgen_ty_1 = - 9977 ; pub const SUN_ERR_UNREACHABLE : _bindgen_ty_1 = - 9976 ; pub const SUN_ERR_UNKNOWN : _bindgen_ty_1 = - 9975 ; pub const SUN_ERR_MAXIMUM : _bindgen_ty_1 = - 1000 ; pub const SUN_SUCCESS : _bindgen_ty_1 = 0 ; pub type _bindgen_ty_1 = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNAbortErrHandlerFn (line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , msg : * const :: std :: os :: raw :: c_char , err_code : SUNErrCode , err_user_data : * mut :: std :: os :: raw :: c_void , sunctx : SUNContext) ; } extern "C" { pub fn SUNGetErrMsg (code : SUNErrCode) -> * const :: std :: os :: raw :: c_char ; } pub const N_Vector_ID_SUNDIALS_NVEC_SERIAL : N_Vector_ID = 0 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARALLEL : N_Vector_ID = 1 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMP : N_Vector_ID = 2 ; pub const N_Vector_ID_SUNDIALS_NVEC_PTHREADS : N_Vector_ID = 3 ; pub const N_Vector_ID_SUNDIALS_NVEC_PARHYP : N_Vector_ID = 4 ; pub const N_Vector_ID_SUNDIALS_NVEC_PETSC : N_Vector_ID = 5 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUDA : N_Vector_ID = 6 ; pub const N_Vector_ID_SUNDIALS_NVEC_HIP : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_SYCL : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_RAJA : N_Vector_ID = 9 ; pub const N_Vector_ID_SUNDIALS_NVEC_KOKKOS : N_Vector_ID = 10 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 11 ; pub const N_Vector_ID_SUNDIALS_NVEC_TRILINOS : N_Vector_ID = 12 ; pub const N_Vector_ID_SUNDIALS_NVEC_MANYVECTOR : N_Vector_ID = 13 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIMANYVECTOR : N_Vector_ID = 14 ; pub const N_Vector_ID_SUNDIALS_NVEC_MPIPLUSX : N_Vector_ID = 15 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 16 ; pub type N_Vector_ID = :: std :: os :: raw :: c_uint ; pub type N_Vector_Ops = * mut _generic_N_Vector_Ops ; pub type N_Vector = * mut _generic_N_Vector ; pub type N_Vector_S = * mut N_Vector ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector_Ops { pub nvgetvectorid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector_ID > , pub nvclone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvcloneempty : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> N_Vector > , pub nvdestroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvspace : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype , arg3 : * mut sunindextype) > , pub nvgetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvgetdevicearraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> * mut sunrealtype > , pub nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut sunrealtype , arg2 : N_Vector) > , pub nvgetcommunicator : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> SUNComm > , pub nvgetlength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvgetlocallength : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunindextype > , pub nvlinearsum : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : sunrealtype , arg4 : N_Vector , arg5 : N_Vector) > , pub nvconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector) > , pub nvprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvdiv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) > , pub nvscale : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvabs : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvinv : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) > , pub nvaddconst : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : sunrealtype , arg3 : N_Vector) > , pub nvdotprod : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwrmsnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwrmsnormmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvmin : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvwl2norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvl1norm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvcompare : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : N_Vector , arg3 : N_Vector) > , pub nvinvtest : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmask : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotient : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvlinearcombination : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : N_Vector) -> SUNErrCode > , pub nvscaleaddmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : N_Vector , arg4 : * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodmulti : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvlinearsumvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector , arg4 : sunrealtype , arg5 : * mut N_Vector , arg6 : * mut N_Vector) -> SUNErrCode > , pub nvscalevectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut sunrealtype , arg3 : * mut N_Vector , arg4 : * mut N_Vector) -> SUNErrCode > , pub nvconstvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : sunrealtype , arg3 : * mut N_Vector) -> SUNErrCode > , pub nvwrmsnormvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvwrmsnormmaskvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : * mut N_Vector , arg3 : * mut N_Vector , arg4 : N_Vector , arg5 : * mut sunrealtype) -> SUNErrCode > , pub nvscaleaddmultivectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut N_Vector , arg5 : * mut * mut N_Vector , arg6 : * mut * mut N_Vector) -> SUNErrCode > , pub nvlinearcombinationvectorarray : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut sunrealtype , arg4 : * mut * mut N_Vector , arg5 : * mut N_Vector) -> SUNErrCode > , pub nvdotprodlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvmaxnormlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvminlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvl1normlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) -> sunrealtype > , pub nvinvtestlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvconstrmasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> :: std :: os :: raw :: c_int > , pub nvminquotientlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsumlocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector) -> sunrealtype > , pub nvwsqrsummasklocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : N_Vector , arg3 : N_Vector) -> sunrealtype > , pub nvdotprodmultilocal : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut N_Vector , arg4 : * mut sunrealtype) -> SUNErrCode > , pub nvdotprodmultiallreduce : :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int , arg2 : N_Vector , arg3 : * mut sunrealtype) -> SUNErrCode > , pub nvbufsize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut sunindextype) -> SUNErrCode > , pub nvbufpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvbufunpack : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub nvprint : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector) > , pub nvprintfile : :: std :: option :: Option < unsafe extern "C" fn (arg1 : N_Vector , arg2 : * mut FILE) > , } # [test] fn bindgen_test_layout__generic_N_Vector_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector_Ops > () , 448usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetvectorid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetvectorid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvclone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvclone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcloneempty) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcloneempty))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdestroy) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdestroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvspace) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvspace))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetarraypointer) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetdevicearraypointer) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetdevicearraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvsetarraypointer) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvsetarraypointer))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetcommunicator) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetcommunicator))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlength) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvgetlocallength) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvgetlocallength))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsum) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsum))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconst) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprod) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdiv) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdiv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscale) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscale))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvabs) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvabs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinv) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvaddconst) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvaddconst))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprod) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprod))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnorm) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnorm) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmask) as usize - ptr as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmin) as usize - ptr as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmin))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwl2norm) as usize - ptr as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwl2norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1norm) as usize - ptr as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1norm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvcompare) as usize - ptr as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvcompare))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtest) as usize - ptr as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmask) as usize - ptr as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmask))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotient) as usize - ptr as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotient))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombination) as usize - ptr as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombination))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmulti) as usize - ptr as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmulti) as usize - ptr as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmulti))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearsumvectorarray) as usize - ptr as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearsumvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscalevectorarray) as usize - ptr as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscalevectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstvectorarray) as usize - ptr as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormvectorarray) as usize - ptr as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwrmsnormmaskvectorarray) as usize - ptr as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwrmsnormmaskvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvscaleaddmultivectorarray) as usize - ptr as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvscaleaddmultivectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvlinearcombinationvectorarray) as usize - ptr as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvlinearcombinationvectorarray))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodlocal) as usize - ptr as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvmaxnormlocal) as usize - ptr as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvmaxnormlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminlocal) as usize - ptr as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvl1normlocal) as usize - ptr as usize } , 344usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvl1normlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvinvtestlocal) as usize - ptr as usize } , 352usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvinvtestlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvconstrmasklocal) as usize - ptr as usize } , 360usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvconstrmasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvminquotientlocal) as usize - ptr as usize } , 368usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvminquotientlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsumlocal) as usize - ptr as usize } , 376usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsumlocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvwsqrsummasklocal) as usize - ptr as usize } , 384usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvwsqrsummasklocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultilocal) as usize - ptr as usize } , 392usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultilocal))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvdotprodmultiallreduce) as usize - ptr as usize } , 400usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvdotprodmultiallreduce))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufsize) as usize - ptr as usize } , 408usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufsize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufpack) as usize - ptr as usize } , 416usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvbufunpack) as usize - ptr as usize } , 424usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvbufunpack))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprint) as usize - ptr as usize } , 432usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nvprintfile) as usize - ptr as usize } , 440usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector_Ops) , "::" , stringify ! (nvprintfile))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : N_Vector_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_N_Vector () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_N_Vector > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_N_Vector > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_N_Vector))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_N_Vector > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_N_Vector))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_N_Vector) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn N_VNewEmpty (sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VFreeEmpty (v : N_Vector) ; } extern "C" { pub fn N_VCopyOps (w : N_Vector , v : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VGetVectorID (w : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VClone (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VCloneEmpty (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy (v : N_Vector) ; } extern "C" { pub fn N_VSpace (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VGetDeviceArrayPointer (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VGetCommunicator (v : N_Vector) -> SUNComm ; } extern "C" { pub fn N_VGetLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VGetLocalLength (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VLinearSum (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray (nvec : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray (nvec : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdLocal (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMinLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1NormLocal (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumLocal (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VInvTestLocal (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMaskLocal (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotientLocal (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VDotProdMultiLocal (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMultiAllReduce (nvec_total : :: std :: os :: raw :: c_int , x : N_Vector , sum : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VBufSize (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VNewVectorArray (count : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneEmptyVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VCloneVectorArray (count : :: std :: os :: raw :: c_int , w : N_Vector) -> * mut N_Vector ; } extern "C" { pub fn N_VDestroyVectorArray (vs : * mut N_Vector , count : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn N_VGetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int) -> N_Vector ; } extern "C" { pub fn N_VSetVecAtIndexVectorArray (vs : * mut N_Vector , index : :: std :: os :: raw :: c_int , w : N_Vector) ; } extern "C" { pub fn N_VPrint (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile (v : N_Vector , outfile : * mut FILE) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _N_VectorContent_Serial { pub length : sunindextype , pub own_data : :: std :: os :: raw :: c_int , pub data : * mut sunrealtype , } # [test] fn bindgen_test_layout__N_VectorContent_Serial () { const UNINIT : :: std :: mem :: MaybeUninit < _N_VectorContent_Serial > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _N_VectorContent_Serial > () , 24usize , concat ! ("Size of: " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (:: std :: mem :: align_of :: < _N_VectorContent_Serial > () , 8usize , concat ! ("Alignment of " , stringify ! (_N_VectorContent_Serial))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . length) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own_data) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (own_data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_N_VectorContent_Serial) , "::" , stringify ! (data))) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNewEmpty_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VNew_Serial (vec_length : sunindextype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial (vec_length : sunindextype , v_data : * mut sunrealtype , sunctx : SUNContext) -> N_Vector ; } extern "C" { pub fn N_VGetLength_Serial (v : N_Vector) -> sunindextype ; } extern "C" { pub fn N_VPrint_Serial (v : N_Vector) ; } extern "C" { pub fn N_VPrintFile_Serial (v : N_Vector , outfile : * mut FILE) ; } extern "C" { pub fn N_VGetVectorID_Serial (v : N_Vector) -> N_Vector_ID ; } extern "C" { pub fn N_VCloneEmpty_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VClone_Serial (w : N_Vector) -> N_Vector ; } extern "C" { pub fn N_VDestroy_Serial (v : N_Vector) ; } extern "C" { pub fn N_VSpace_Serial (v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype) ; } extern "C" { pub fn N_VGetArrayPointer_Serial (v : N_Vector) -> * mut sunrealtype ; } extern "C" { pub fn N_VSetArrayPointer_Serial (v_data : * mut sunrealtype , v : N_Vector) ; } extern "C" { pub fn N_VLinearSum_Serial (a : sunrealtype , x : N_Vector , b : sunrealtype , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VConst_Serial (c : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VProd_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VDiv_Serial (x : N_Vector , y : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VScale_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAbs_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInv_Serial (x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VAddConst_Serial (x : N_Vector , b : sunrealtype , z : N_Vector) ; } extern "C" { pub fn N_VDotProd_Serial (x : N_Vector , y : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMaxNorm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNorm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWrmsNormMask_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VMin_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWL2Norm_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VL1Norm_Serial (x : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VCompare_Serial (c : sunrealtype , x : N_Vector , z : N_Vector) ; } extern "C" { pub fn N_VInvTest_Serial (x : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VConstrMask_Serial (c : N_Vector , x : N_Vector , m : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn N_VMinQuotient_Serial (num : N_Vector , denom : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VLinearCombination_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , V : * mut N_Vector , z : N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMulti_Serial (nvec : :: std :: os :: raw :: c_int , a : * mut sunrealtype , x : N_Vector , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VDotProdMulti_Serial (nvec : :: std :: os :: raw :: c_int , x : N_Vector , Y : * mut N_Vector , dotprods : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VLinearSumVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , a : sunrealtype , X : * mut N_Vector , b : sunrealtype , Y : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VScaleVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VConstVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , c : sunrealtype , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VWrmsNormMaskVectorArray_Serial (nvecs : :: std :: os :: raw :: c_int , X : * mut N_Vector , W : * mut N_Vector , id : N_Vector , nrm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn N_VScaleAddMultiVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , a : * mut sunrealtype , X : * mut N_Vector , Y : * mut * mut N_Vector , Z : * mut * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VLinearCombinationVectorArray_Serial (nvec : :: std :: os :: raw :: c_int , nsum : :: std :: os :: raw :: c_int , c : * mut sunrealtype , X : * mut * mut N_Vector , Z : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn N_VWSqrSumLocal_Serial (x : N_Vector , w : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VWSqrSumMaskLocal_Serial (x : N_Vector , w : N_Vector , id : N_Vector) -> sunrealtype ; } extern "C" { pub fn N_VBufSize_Serial (x : N_Vector , size : * mut sunindextype) -> SUNErrCode ; } extern "C" { pub fn N_VBufPack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VBufUnpack_Serial (x : N_Vector , buf : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn N_VEnableFusedOps_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombination_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableDotProdMulti_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearSumVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableConstVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableWrmsNormMaskVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableScaleAddMultiVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn N_VEnableLinearCombinationVectorArray_Serial (v : N_Vector , tf : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _DlsMat { pub type_ : :: std :: os :: raw :: c_int , pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__DlsMat () { const UNINIT : :: std :: mem :: MaybeUninit < _DlsMat > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _DlsMat > () , 80usize , concat ! ("Size of: " , stringify ! (_DlsMat))) ; assert_eq ! (:: std :: mem :: align_of :: < _DlsMat > () , 8usize , concat ! ("Alignment of " , stringify ! (_DlsMat))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_DlsMat) , "::" , stringify ! (cols))) ; } pub type SUNDlsMat = * mut _DlsMat ; extern "C" { pub fn SUNDlsMat_NewDenseMat (M : sunindextype , N : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_NewBandMat (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) -> SUNDlsMat ; } extern "C" { pub fn SUNDlsMat_DestroyMat (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_NewIntArray (N : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_NewIndexArray (N : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_NewRealArray (N : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_DestroyArray (p : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_AddIdentity (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_SetToZero (A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_PrintMat (A : SUNDlsMat , outfile : * mut FILE) ; } extern "C" { pub fn SUNDlsMat_newDenseMat (m : sunindextype , n : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_newBandMat (n : sunindextype , smu : sunindextype , ml : sunindextype) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyMat (a : * mut * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_newIntArray (n : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_newIndexArray (n : sunindextype) -> * mut sunindextype ; } extern "C" { pub fn SUNDlsMat_newRealArray (m : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNDlsMat_destroyArray (v : * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn SUNDlsMat_BandGBTRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_bandGBTRF (a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_BandGBTRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandGBTRS (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_BandCopy (A : SUNDlsMat , B : SUNDlsMat , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , n : sunindextype , a_smu : sunindextype , b_smu : sunindextype , copymu : sunindextype , copyml : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_bandScale (c : sunrealtype , a : * mut * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_bandAddIdentity (a : * mut * mut sunrealtype , n : sunindextype , smu : sunindextype) ; } extern "C" { pub fn SUNDlsMat_BandMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_bandMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype) ; } pub const SUN_PREC_NONE : _bindgen_ty_2 = 0 ; pub const SUN_PREC_LEFT : _bindgen_ty_2 = 1 ; pub const SUN_PREC_RIGHT : _bindgen_ty_2 = 2 ; pub const SUN_PREC_BOTH : _bindgen_ty_2 = 3 ; pub type _bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const SUN_MODIFIED_GS : _bindgen_ty_3 = 1 ; pub const SUN_CLASSICAL_GS : _bindgen_ty_3 = 2 ; pub type _bindgen_ty_3 = :: std :: os :: raw :: c_uint ; pub type SUNATimesFn = :: std :: option :: Option < unsafe extern "C" fn (A_data : * mut :: std :: os :: raw :: c_void , v : N_Vector , z : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type SUNPSetupFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNPSolveFn = :: std :: option :: Option < unsafe extern "C" fn (P_data : * mut :: std :: os :: raw :: c_void , r : N_Vector , z : N_Vector , tol : sunrealtype , lr : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; pub type SUNQRAddFn = :: std :: option :: Option < unsafe extern "C" fn (Q : * mut N_Vector , R : * mut sunrealtype , f : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QR_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn SUNModifiedGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNClassicalGS (v : * mut N_Vector , h : * mut * mut sunrealtype , k : :: std :: os :: raw :: c_int , p : :: std :: os :: raw :: c_int , new_vk_norm : * mut sunrealtype , stemp : * mut sunrealtype , vtemp : * mut N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNQRfact (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , job : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRsol (n : :: std :: os :: raw :: c_int , h : * mut * mut sunrealtype , q : * mut sunrealtype , b : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNQRAdd_MGS (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_ICWY_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_CGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2 (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNQRAdd_DCGS2_SB (Q : * mut N_Vector , R : * mut sunrealtype , df : N_Vector , m : :: std :: os :: raw :: c_int , mMax : :: std :: os :: raw :: c_int , QRdata : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_MAGMADENSE : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_ONEMKLDENSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 3 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 4 ; pub const SUNMatrix_ID_SUNMATRIX_SLUNRLOC : SUNMatrix_ID = 5 ; pub const SUNMatrix_ID_SUNMATRIX_CUSPARSE : SUNMatrix_ID = 6 ; pub const SUNMatrix_ID_SUNMATRIX_GINKGO : SUNMatrix_ID = 7 ; pub const SUNMatrix_ID_SUNMATRIX_KOKKOSDENSE : SUNMatrix_ID = 8 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 9 ; pub type SUNMatrix_ID = :: std :: os :: raw :: c_uint ; pub type SUNMatrix_Ops = * mut _generic_SUNMatrix_Ops ; pub type SUNMatrix = * mut _generic_SUNMatrix ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix_Ops { pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix_ID > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNMatrix > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) > , pub zero : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : SUNMatrix) -> SUNErrCode > , pub scaleadd : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix , arg3 : SUNMatrix) -> SUNErrCode > , pub scaleaddi : :: std :: option :: Option < unsafe extern "C" fn (arg1 : sunrealtype , arg2 : SUNMatrix) -> SUNErrCode > , pub matvecsetup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix) -> SUNErrCode > , pub matvec : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMatrix , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNMatrix_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > () , 80usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zero) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (zero))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleadd) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleadd))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . scaleaddi) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (scaleaddi))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvecsetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvecsetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . matvec) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (matvec))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNMatrix { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMatrix_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNMatrix () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNMatrix > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNMatrix > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNMatrix > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNMatrix))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNMatrix) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNMatNewEmpty (sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNMatFreeEmpty (A : SUNMatrix) ; } extern "C" { pub fn SUNMatCopyOps (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatGetID (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvecSetup (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLinearSolver_Type_SUNLINEARSOLVER_DIRECT : SUNLinearSolver_Type = 0 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_ITERATIVE : SUNLinearSolver_Type = 1 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_ITERATIVE : SUNLinearSolver_Type = 2 ; pub const SUNLinearSolver_Type_SUNLINEARSOLVER_MATRIX_EMBEDDED : SUNLinearSolver_Type = 3 ; pub type SUNLinearSolver_Type = :: std :: os :: raw :: c_uint ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_BAND : SUNLinearSolver_ID = 0 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_DENSE : SUNLinearSolver_ID = 1 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KLU : SUNLinearSolver_ID = 2 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKBAND : SUNLinearSolver_ID = 3 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_LAPACKDENSE : SUNLinearSolver_ID = 4 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_PCG : SUNLinearSolver_ID = 5 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPBCGS : SUNLinearSolver_ID = 6 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPFGMR : SUNLinearSolver_ID = 7 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPGMR : SUNLinearSolver_ID = 8 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SPTFQMR : SUNLinearSolver_ID = 9 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUDIST : SUNLinearSolver_ID = 10 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_SUPERLUMT : SUNLinearSolver_ID = 11 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSOLVERSP_BATCHQR : SUNLinearSolver_ID = 12 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_MAGMADENSE : SUNLinearSolver_ID = 13 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_ONEMKLDENSE : SUNLinearSolver_ID = 14 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_GINKGO : SUNLinearSolver_ID = 15 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_KOKKOSDENSE : SUNLinearSolver_ID = 16 ; pub const SUNLinearSolver_ID_SUNLINEARSOLVER_CUSTOM : SUNLinearSolver_ID = 17 ; pub type SUNLinearSolver_ID = :: std :: os :: raw :: c_uint ; pub type SUNLinearSolver_Ops = * mut _generic_SUNLinearSolver_Ops ; pub type SUNLinearSolver = * mut _generic_SUNLinearSolver ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_Type > , pub getid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNLinearSolver_ID > , pub setatimes : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNATimesFn) -> SUNErrCode > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : SUNPSetupFn , arg4 : SUNPSolveFn) -> SUNErrCode > , pub setscalingvectors : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : N_Vector , arg3 : N_Vector) -> SUNErrCode > , pub setzeroguess : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : SUNMatrix , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype) -> :: std :: os :: raw :: c_int > , pub numiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> :: std :: os :: raw :: c_int > , pub resnorm : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunrealtype > , pub lastflag : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> sunindextype > , pub space : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_long , arg3 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub resid : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> N_Vector > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNLinearSolver) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > () , 120usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getid) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (getid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setatimes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setatimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setpreconditioner) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setpreconditioner))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setscalingvectors) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setscalingvectors))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setzeroguess) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setzeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . lastflag) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (lastflag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (space))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resid) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (resid))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver_Ops) , "::" , stringify ! (free))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNLinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNLinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNLinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNLinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNLinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNLinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNLinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNLinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNLinSolNewEmpty (sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolFreeEmpty (S : SUNLinearSolver) ; } extern "C" { pub fn SUNLinSolGetType (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolSetATimes (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolInitialize (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Band { pub M : sunindextype , pub N : sunindextype , pub ldim : sunindextype , pub mu : sunindextype , pub ml : sunindextype , pub s_mu : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Band > () , 72usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldim) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldim))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . mu) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ml) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ml))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s_mu) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (s_mu))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Band) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix (N : sunindextype , mu : sunindextype , ml : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage (N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNBandMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LowerBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_UpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_StoredUpperBandwidth (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LDim (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNBandMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNBandMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Band (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Band (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Band (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Band (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Band (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Band (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Band (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Band (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Band (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Band { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Band () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Band > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Band))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Band) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Band (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Band (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Band (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Band (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Band (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Band (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Band (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPBCGS { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPBCGS > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > () , 144usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPBCGS))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (Ap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPBCGS) , "::" , stringify ! (vtemp))) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPBCGSSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPBCGSSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPBCGS (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPBCGS (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPBCGS (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPBCGS (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPBCGS (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPBCGS (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPBCGS (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPBCGS (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPBCGS (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPBCGS (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPBCGS (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPBCGS (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > () , 160usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPGMR (S : SUNLinearSolver , onff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNDlsMat_DenseGETRF (A : SUNDlsMat , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DenseGETRS (A : SUNDlsMat , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseGETRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , p : * mut sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_denseGETRS (a : * mut * mut sunrealtype , n : sunindextype , p : * mut sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DensePOTRF (A : SUNDlsMat) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_DensePOTRS (A : SUNDlsMat , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_densePOTRF (a : * mut * mut sunrealtype , m : sunindextype) -> sunindextype ; } extern "C" { pub fn SUNDlsMat_densePOTRS (a : * mut * mut sunrealtype , m : sunindextype , b : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_DenseGEQRF (A : SUNDlsMat , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseORMQR (A : SUNDlsMat , beta : * mut sunrealtype , vn : * mut sunrealtype , vm : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseGEQRF (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_denseORMQR (a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype , beta : * mut sunrealtype , v : * mut sunrealtype , w : * mut sunrealtype , wrk : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNDlsMat_DenseCopy (A : SUNDlsMat , B : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseCopy (a : * mut * mut sunrealtype , b : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseScale (c : sunrealtype , A : SUNDlsMat) ; } extern "C" { pub fn SUNDlsMat_denseScale (c : sunrealtype , a : * mut * mut sunrealtype , m : sunindextype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_denseAddIdentity (a : * mut * mut sunrealtype , n : sunindextype) ; } extern "C" { pub fn SUNDlsMat_DenseMatvec (A : SUNDlsMat , x : * mut sunrealtype , y : * mut sunrealtype) ; } extern "C" { pub fn SUNDlsMat_denseMatvec (a : * mut * mut sunrealtype , x : * mut sunrealtype , y : * mut sunrealtype , m : sunindextype , n : sunindextype) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Dense { pub M : sunindextype , pub N : sunindextype , pub data : * mut sunrealtype , pub ldata : sunindextype , pub cols : * mut * mut sunrealtype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Dense > () , 40usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ldata) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (ldata))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cols) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Dense) , "::" , stringify ! (cols))) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix (M : sunindextype , N : sunindextype , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNDenseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNDenseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_LData (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNDenseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Cols (A : SUNMatrix) -> * mut * mut sunrealtype ; } extern "C" { pub fn SUNDenseMatrix_Column (A : SUNMatrix , j : sunindextype) -> * mut sunrealtype ; } extern "C" { pub fn SUNMatGetID_Dense (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Dense (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Dense (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Dense (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Dense (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Dense (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Dense (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Dense (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Dense (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_Dense { pub N : sunindextype , pub pivots : * mut sunindextype , pub last_flag : sunindextype , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_Dense () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_Dense > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > () , 24usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_Dense))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pivots) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (pivots))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_Dense) , "::" , stringify ! (last_flag))) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense (y : N_Vector , A : SUNMatrix , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_Dense (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_Dense (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_Dense (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_Dense (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolLastFlag_Dense (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_Dense (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_Dense (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_PCG { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_PCG () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_PCG > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > () , 112usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_PCG))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (s))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . z) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Ap) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_PCG) , "::" , stringify ! (Ap))) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_PCGSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_PCGSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_PCG (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_PCG (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_PCG (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_PCG (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_PCG (S : SUNLinearSolver , s : N_Vector , nul : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_PCG (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_PCG (S : SUNLinearSolver , nul : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_PCG (S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_PCG (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_PCG (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_PCG (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_PCG (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_PCG (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_PCG (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPFGMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub gstype : :: std :: os :: raw :: c_int , pub max_restarts : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub V : * mut N_Vector , pub Z : * mut N_Vector , pub Hes : * mut * mut sunrealtype , pub givens : * mut sunrealtype , pub xcor : N_Vector , pub yg : * mut sunrealtype , pub vtemp : N_Vector , pub cv : * mut sunrealtype , pub Xv : * mut N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPFGMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPFGMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gstype) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (gstype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . max_restarts) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (max_restarts))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . V) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (V))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Z) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Z))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Hes) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Hes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . givens) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (givens))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . xcor) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (xcor))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yg) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (yg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (vtemp))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cv) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (cv))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xv) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPFGMR) , "::" , stringify ! (Xv))) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPFGMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetGSType (S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPFGMRSetMaxRestarts (S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPFGMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPFGMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPFGMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPFGMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPFGMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPFGMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPFGMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPFGMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPFGMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPFGMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPFGMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPFGMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNLinearSolverContent_SPTFQMR { pub maxl : :: std :: os :: raw :: c_int , pub pretype : :: std :: os :: raw :: c_int , pub zeroguess : :: std :: os :: raw :: c_int , pub numiters : :: std :: os :: raw :: c_int , pub resnorm : sunrealtype , pub last_flag : :: std :: os :: raw :: c_int , pub ATimes : SUNATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : SUNPSetupFn , pub Psolve : SUNPSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [test] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNLinearSolverContent_SPTFQMR > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > () , 168usize , concat ! ("Size of: " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNLinearSolverContent_SPTFQMR))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxl) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (maxl))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pretype) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (pretype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . zeroguess) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (zeroguess))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . numiters) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (numiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . resnorm) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (resnorm))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . last_flag) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (last_flag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATimes) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATimes))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ATData) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (ATData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psetup) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Psolve) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (Psolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PData) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (PData))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s1) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . s2) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (s2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r_star) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r_star))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . d) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (d))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . v) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (v))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . p) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (p))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . r) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (r))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . u) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (u))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp1) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp1))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp2) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp2))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . vtemp3) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNLinearSolverContent_SPTFQMR) , "::" , stringify ! (vtemp3))) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR (y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetPrecType (S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSol_SPTFQMRSetMaxl (S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolGetType_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolGetID_SPTFQMR (S : SUNLinearSolver) -> SUNLinearSolver_ID ; } extern "C" { pub fn SUNLinSolInitialize_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetATimes_SPTFQMR (S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : SUNATimesFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR (S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : SUNPSetupFn , Psol : SUNPSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetScalingVectors_SPTFQMR (S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetZeroGuess_SPTFQMR (S : SUNLinearSolver , onoff : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolSetup_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSolve_SPTFQMR (S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolNumIters_SPTFQMR (S : SUNLinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolResNorm_SPTFQMR (S : SUNLinearSolver) -> sunrealtype ; } extern "C" { pub fn SUNLinSolResid_SPTFQMR (S : SUNLinearSolver) -> N_Vector ; } extern "C" { pub fn SUNLinSolLastFlag_SPTFQMR (S : SUNLinearSolver) -> sunindextype ; } extern "C" { pub fn SUNLinSolSpace_SPTFQMR (S : SUNLinearSolver , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNLinSolFree_SPTFQMR (S : SUNLinearSolver) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNMatrixContent_Sparse { pub M : sunindextype , pub N : sunindextype , pub NNZ : sunindextype , pub NP : sunindextype , pub data : * mut sunrealtype , pub sparsetype : :: std :: os :: raw :: c_int , pub indexvals : * mut sunindextype , pub indexptrs : * mut sunindextype , pub rowvals : * mut * mut sunindextype , pub colptrs : * mut * mut sunindextype , pub colvals : * mut * mut sunindextype , pub rowptrs : * mut * mut sunindextype , } # [test] fn bindgen_test_layout__SUNMatrixContent_Sparse () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNMatrixContent_Sparse > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > () , 96usize , concat ! ("Size of: " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNMatrixContent_Sparse))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . M) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (M))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . N) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (N))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NNZ) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NNZ))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . NP) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (NP))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . data) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sparsetype) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (sparsetype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexvals) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . indexptrs) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (indexptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colptrs) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colptrs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . colvals) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (colvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . rowptrs) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNMatrixContent_Sparse) , "::" , stringify ! (rowptrs))) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix (M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromDenseMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseFromBandMatrix (A : SUNMatrix , droptol : sunrealtype , sparsetype : :: std :: os :: raw :: c_int) -> SUNMatrix ; } extern "C" { pub fn SUNSparseMatrix_ToCSR (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_ToCSC (A : SUNMatrix , Bout : * mut SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Realloc (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Reallocate (A : SUNMatrix , NNZ : sunindextype) -> SUNErrCode ; } extern "C" { pub fn SUNSparseMatrix_Print (A : SUNMatrix , outfile : * mut FILE) ; } extern "C" { pub fn SUNSparseMatrix_Rows (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_Columns (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NNZ (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_NP (A : SUNMatrix) -> sunindextype ; } extern "C" { pub fn SUNSparseMatrix_SparseType (A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSparseMatrix_Data (A : SUNMatrix) -> * mut sunrealtype ; } extern "C" { pub fn SUNSparseMatrix_IndexValues (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNSparseMatrix_IndexPointers (A : SUNMatrix) -> * mut sunindextype ; } extern "C" { pub fn SUNMatGetID_Sparse (A : SUNMatrix) -> SUNMatrix_ID ; } extern "C" { pub fn SUNMatClone_Sparse (A : SUNMatrix) -> SUNMatrix ; } extern "C" { pub fn SUNMatDestroy_Sparse (A : SUNMatrix) ; } extern "C" { pub fn SUNMatZero_Sparse (A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatCopy_Sparse (A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAdd_Sparse (c : sunrealtype , A : SUNMatrix , B : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatScaleAddI_Sparse (c : sunrealtype , A : SUNMatrix) -> SUNErrCode ; } extern "C" { pub fn SUNMatMatvec_Sparse (A : SUNMatrix , x : N_Vector , y : N_Vector) -> SUNErrCode ; } extern "C" { pub fn SUNMatSpace_Sparse (A : SUNMatrix , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_NONE : SUNAdaptController_Type = 0 ; pub const SUNAdaptController_Type_SUN_ADAPTCONTROLLER_H : SUNAdaptController_Type = 1 ; pub type SUNAdaptController_Type = :: std :: os :: raw :: c_uint ; pub type SUNAdaptController_Ops = * mut _generic_SUNAdaptController_Ops ; pub type SUNAdaptController = * mut _generic_SUNAdaptController ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNAdaptController_Type > , pub estimatestep : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub reset : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub setdefaults : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController) -> SUNErrCode > , pub write : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode > , pub seterrorbias : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode > , pub updateh : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode > , pub space : :: std :: option :: Option < unsafe extern "C" fn (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNAdaptController_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController_Ops > () , 72usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . estimatestep) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (estimatestep))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (destroy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reset) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (reset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setdefaults) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (setdefaults))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . write) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . seterrorbias) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (seterrorbias))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . updateh) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (updateh))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . space) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController_Ops) , "::" , stringify ! (space))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNAdaptController { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNAdaptController_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNAdaptController () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNAdaptController > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNAdaptController > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNAdaptController > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNAdaptController))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNAdaptController) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNAdaptController_NewEmpty (sunctx : SUNContext) -> SUNAdaptController ; } extern "C" { pub fn SUNAdaptController_DestroyEmpty (C : SUNAdaptController) ; } extern "C" { pub fn SUNAdaptController_GetType (C : SUNAdaptController) -> SUNAdaptController_Type ; } extern "C" { pub fn SUNAdaptController_Destroy (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_EstimateStep (C : SUNAdaptController , h : sunrealtype , p : :: std :: os :: raw :: c_int , dsm : sunrealtype , hnew : * mut sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Reset (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetDefaults (C : SUNAdaptController) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Write (C : SUNAdaptController , fptr : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_SetErrorBias (C : SUNAdaptController , bias : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_UpdateH (C : SUNAdaptController , h : sunrealtype , dsm : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNAdaptController_Space (C : SUNAdaptController , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } pub const SUNLogLevel_SUN_LOGLEVEL_ALL : SUNLogLevel = - 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_NONE : SUNLogLevel = 0 ; pub const SUNLogLevel_SUN_LOGLEVEL_ERROR : SUNLogLevel = 1 ; pub const SUNLogLevel_SUN_LOGLEVEL_WARNING : SUNLogLevel = 2 ; pub const SUNLogLevel_SUN_LOGLEVEL_INFO : SUNLogLevel = 3 ; pub const SUNLogLevel_SUN_LOGLEVEL_DEBUG : SUNLogLevel = 4 ; pub type SUNLogLevel = :: std :: os :: raw :: c_int ; extern "C" { pub fn SUNLogger_Create (comm : SUNComm , output_rank : :: std :: os :: raw :: c_int , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_CreateFromEnv (comm : SUNComm , logger : * mut SUNLogger) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetErrorFilename (logger : SUNLogger , error_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetWarningFilename (logger : SUNLogger , warning_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetDebugFilename (logger : SUNLogger , debug_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_SetInfoFilename (logger : SUNLogger , info_filename : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_QueueMsg (logger : SUNLogger , lvl : SUNLogLevel , scope : * const :: std :: os :: raw :: c_char , label : * const :: std :: os :: raw :: c_char , msg_txt : * const :: std :: os :: raw :: c_char , ...) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Flush (logger : SUNLogger , lvl : SUNLogLevel) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_GetOutputRank (logger : SUNLogger , output_rank : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNLogger_Destroy (logger : * mut SUNLogger) -> SUNErrCode ; } pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig (__x : f64 , __y : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos (__x : f64) -> f64 ; } extern "C" { pub fn asin (__x : f64) -> f64 ; } extern "C" { pub fn atan (__x : f64) -> f64 ; } extern "C" { pub fn atan2 (__y : f64 , __x : f64) -> f64 ; } extern "C" { pub fn cos (__x : f64) -> f64 ; } extern "C" { pub fn sin (__x : f64) -> f64 ; } extern "C" { pub fn tan (__x : f64) -> f64 ; } extern "C" { pub fn cosh (__x : f64) -> f64 ; } extern "C" { pub fn sinh (__x : f64) -> f64 ; } extern "C" { pub fn tanh (__x : f64) -> f64 ; } extern "C" { pub fn acosh (__x : f64) -> f64 ; } extern "C" { pub fn asinh (__x : f64) -> f64 ; } extern "C" { pub fn atanh (__x : f64) -> f64 ; } extern "C" { pub fn exp (__x : f64) -> f64 ; } extern "C" { pub fn frexp (__x : f64 , __exponent : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ldexp (__x : f64 , __exponent : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn log (__x : f64) -> f64 ; } extern "C" { pub fn log10 (__x : f64) -> f64 ; } extern "C" { pub fn modf (__x : f64 , __iptr : * mut f64) -> f64 ; } extern "C" { pub fn expm1 (__x : f64) -> f64 ; } extern "C" { pub fn log1p (__x : f64) -> f64 ; } extern "C" { pub fn logb (__x : f64) -> f64 ; } extern "C" { pub fn exp2 (__x : f64) -> f64 ; } extern "C" { pub fn log2 (__x : f64) -> f64 ; } extern "C" { pub fn pow (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn sqrt (__x : f64) -> f64 ; } extern "C" { pub fn hypot (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn cbrt (__x : f64) -> f64 ; } extern "C" { pub fn ceil (__x : f64) -> f64 ; } extern "C" { pub fn fabs (__x : f64) -> f64 ; } extern "C" { pub fn floor (__x : f64) -> f64 ; } extern "C" { pub fn fmod (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn isinf (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn significand (__x : f64) -> f64 ; } extern "C" { pub fn copysign (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nan (__tagb : * const :: std :: os :: raw :: c_char) -> f64 ; } extern "C" { pub fn isnan (__value : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 (arg1 : f64) -> f64 ; } extern "C" { pub fn j1 (arg1 : f64) -> f64 ; } extern "C" { pub fn jn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn y0 (arg1 : f64) -> f64 ; } extern "C" { pub fn y1 (arg1 : f64) -> f64 ; } extern "C" { pub fn yn (arg1 : :: std :: os :: raw :: c_int , arg2 : f64) -> f64 ; } extern "C" { pub fn erf (arg1 : f64) -> f64 ; } extern "C" { pub fn erfc (arg1 : f64) -> f64 ; } extern "C" { pub fn lgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn tgamma (arg1 : f64) -> f64 ; } extern "C" { pub fn gamma (arg1 : f64) -> f64 ; } extern "C" { pub fn rint (__x : f64) -> f64 ; } extern "C" { pub fn nextafter (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn nexttoward (__x : f64 , __y : u128) -> f64 ; } extern "C" { pub fn remainder (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn scalbn (__x : f64 , __n : :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn ilogb (__x : f64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln (__x : f64 , __n : :: std :: os :: raw :: c_long) -> f64 ; } extern "C" { pub fn nearbyint (__x : f64) -> f64 ; } extern "C" { pub fn round (__x : f64) -> f64 ; } extern "C" { pub fn trunc (__x : f64) -> f64 ; } extern "C" { pub fn remquo (__x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int) -> f64 ; } extern "C" { pub fn lrint (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround (__x : f64) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround (__x : f64) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmax (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fmin (__x : f64 , __y : f64) -> f64 ; } extern "C" { pub fn fma (__x : f64 , __y : f64 , __z : f64) -> f64 ; } extern "C" { pub fn scalb (__x : f64 , __n : f64) -> f64 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_4 = 0 ; pub const FP_INFINITE : _bindgen_ty_4 = 1 ; pub const FP_ZERO : _bindgen_ty_4 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_4 = 3 ; pub const FP_NORMAL : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = :: std :: os :: raw :: c_uint ; extern "C" { pub fn SUNRpowerI (base : sunrealtype , exponent : :: std :: os :: raw :: c_int) -> sunrealtype ; } extern "C" { pub fn SUNRpowerR (base : sunrealtype , exponent : sunrealtype) -> sunrealtype ; } extern "C" { pub fn SUNRCompare (a : sunrealtype , b : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNRCompareTol (a : sunrealtype , b : sunrealtype , tol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNStrToReal (str_ : * const :: std :: os :: raw :: c_char) -> sunrealtype ; } pub const SUNMemoryType_SUNMEMTYPE_HOST : SUNMemoryType = 0 ; pub const SUNMemoryType_SUNMEMTYPE_PINNED : SUNMemoryType = 1 ; pub const SUNMemoryType_SUNMEMTYPE_DEVICE : SUNMemoryType = 2 ; pub const SUNMemoryType_SUNMEMTYPE_UVM : SUNMemoryType = 3 ; pub type SUNMemoryType = :: std :: os :: raw :: c_uint ; pub type SUNMemory = * mut SUNMemory_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemory_ { pub ptr : * mut :: std :: os :: raw :: c_void , pub type_ : SUNMemoryType , pub own : :: std :: os :: raw :: c_int , pub bytes : usize , } # [test] fn bindgen_test_layout_SUNMemory_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemory_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemory_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemory_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemory_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemory_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ptr) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (ptr))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . type_) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . own) as usize - ptr as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (own))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . bytes) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemory_) , "::" , stringify ! (bytes))) ; } extern "C" { pub fn SUNMemoryNewEmpty (sunctx : SUNContext) -> SUNMemory ; } pub type SUNMemoryHelper_Ops = * mut SUNMemoryHelper_Ops_ ; pub type SUNMemoryHelper = * mut SUNMemoryHelper_ ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_ { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNMemoryHelper_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout_SUNMemoryHelper_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_ > () , 24usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_) , "::" , stringify ! (sunctx))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SUNMemoryHelper_Ops_ { pub alloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub dealloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub copyasync : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub getallocstats : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode > , pub clone : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNMemoryHelper > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNMemoryHelper) -> SUNErrCode > , } # [test] fn bindgen_test_layout_SUNMemoryHelper_Ops_ () { const UNINIT : :: std :: mem :: MaybeUninit < SUNMemoryHelper_Ops_ > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < SUNMemoryHelper_Ops_ > () , 56usize , concat ! ("Size of: " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (:: std :: mem :: align_of :: < SUNMemoryHelper_Ops_ > () , 8usize , concat ! ("Alignment of " , stringify ! (SUNMemoryHelper_Ops_))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . alloc) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (alloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dealloc) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (dealloc))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copy) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . copyasync) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (copyasync))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getallocstats) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (getallocstats))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . clone) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (clone))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . destroy) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (SUNMemoryHelper_Ops_) , "::" , stringify ! (destroy))) ; } extern "C" { pub fn SUNMemoryHelper_Alias (arg1 : SUNMemoryHelper , mem : SUNMemory) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Wrap (arg1 : SUNMemoryHelper , ptr : * mut :: std :: os :: raw :: c_void , mem_type : SUNMemoryType) -> SUNMemory ; } extern "C" { pub fn SUNMemoryHelper_Alloc (arg1 : SUNMemoryHelper , memptr : * mut SUNMemory , mem_size : usize , mem_type : SUNMemoryType , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Dealloc (arg1 : SUNMemoryHelper , mem : SUNMemory , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Copy (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_CopyAsync (arg1 : SUNMemoryHelper , dst : SUNMemory , src : SUNMemory , mem_size : usize , queue : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_GetAllocStats (arg1 : SUNMemoryHelper , mem_type : SUNMemoryType , num_allocations : * mut :: std :: os :: raw :: c_ulong , num_deallocations : * mut :: std :: os :: raw :: c_ulong , bytes_allocated : * mut usize , bytes_high_watermark : * mut usize) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_Clone (arg1 : SUNMemoryHelper) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_Destroy (arg1 : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_NewEmpty (sunctx : SUNContext) -> SUNMemoryHelper ; } extern "C" { pub fn SUNMemoryHelper_CopyOps (src : SUNMemoryHelper , dst : SUNMemoryHelper) -> SUNErrCode ; } extern "C" { pub fn SUNMemoryHelper_ImplementsRequiredOps (arg1 : SUNMemoryHelper) -> :: std :: os :: raw :: c_int ; } pub type SUNNonlinearSolver_Ops = * mut _generic_SUNNonlinearSolver_Ops ; pub type SUNNonlinearSolver = * mut _generic_SUNNonlinearSolver ; pub type SUNNonlinSolSysFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , F : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSetupFn = :: std :: option :: Option < unsafe extern "C" fn (jbad : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolLSolveFn = :: std :: option :: Option < unsafe extern "C" fn (b : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type SUNNonlinSolConvTestFn = :: std :: option :: Option < unsafe extern "C" fn (NLS : SUNNonlinearSolver , y : N_Vector , del : N_Vector , tol : sunrealtype , ewt : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver_Ops { pub gettype : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNNonlinearSolver_Type > , pub initialize : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setup : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub solve : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : N_Vector , arg3 : N_Vector , arg4 : N_Vector , arg5 : sunrealtype , arg6 : :: std :: os :: raw :: c_int , arg7 : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver) -> SUNErrCode > , pub setsysfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolSysFn) -> SUNErrCode > , pub setlsetupfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSetupFn) -> SUNErrCode > , pub setlsolvefn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolLSolveFn) -> SUNErrCode > , pub setctestfn : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : SUNNonlinSolConvTestFn , arg3 : * mut :: std :: os :: raw :: c_void) -> SUNErrCode > , pub setmaxiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumiters : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , pub getcuriter : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_int) -> SUNErrCode > , pub getnumconvfails : :: std :: option :: Option < unsafe extern "C" fn (arg1 : SUNNonlinearSolver , arg2 : * mut :: std :: os :: raw :: c_long) -> SUNErrCode > , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver_Ops () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver_Ops > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > () , 104usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver_Ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gettype) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (gettype))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . initialize) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (initialize))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setup) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . solve) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (solve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . free) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (free))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setsysfn) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setsysfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsetupfn) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsetupfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setlsolvefn) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setlsolvefn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setctestfn) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setctestfn))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . setmaxiters) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (setmaxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumiters) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getcuriter) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getcuriter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . getnumconvfails) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver_Ops) , "::" , stringify ! (getnumconvfails))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : SUNNonlinearSolver_Ops , pub sunctx : SUNContext , } # [test] fn bindgen_test_layout__generic_SUNNonlinearSolver () { const UNINIT : :: std :: mem :: MaybeUninit < _generic_SUNNonlinearSolver > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > () , 24usize , concat ! ("Size of: " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (:: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > () , 8usize , concat ! ("Alignment of " , stringify ! (_generic_SUNNonlinearSolver))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . content) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (content))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ops) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (ops))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . sunctx) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_generic_SUNNonlinearSolver) , "::" , stringify ! (sunctx))) ; } extern "C" { pub fn SUNNonlinSolNewEmpty (sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolFreeEmpty (NLS : SUNNonlinearSolver) ; } extern "C" { pub fn SUNNonlinSolGetType (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetup (NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolSolve (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn (NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn (NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Create (comm : SUNComm , title : * const :: std :: os :: raw :: c_char , p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Free (p : * mut SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Begin (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_End (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetTimerResolution (p : SUNProfiler , resolution : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_GetElapsedTime (p : SUNProfiler , name : * const :: std :: os :: raw :: c_char , time : * mut f64) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Print (p : SUNProfiler , fp : * mut FILE) -> SUNErrCode ; } extern "C" { pub fn SUNProfiler_Reset (p : SUNProfiler) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersion (version : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNDIALSGetVersionNumber (major : * mut :: std :: os :: raw :: c_int , minor : * mut :: std :: os :: raw :: c_int , patch : * mut :: std :: os :: raw :: c_int , label : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_FixedPoint { pub Sys : SUNNonlinSolSysFn , pub CTest : SUNNonlinSolConvTestFn , pub m : :: std :: os :: raw :: c_int , pub imap : * mut :: std :: os :: raw :: c_int , pub damping : :: std :: os :: raw :: c_int , pub beta : sunrealtype , pub R : * mut sunrealtype , pub gamma : * mut sunrealtype , pub cvals : * mut sunrealtype , pub df : * mut N_Vector , pub dg : * mut N_Vector , pub q : * mut N_Vector , pub Xvecs : * mut N_Vector , pub yprev : N_Vector , pub gy : N_Vector , pub fold : N_Vector , pub gold : N_Vector , pub delta : N_Vector , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_FixedPoint > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 176usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_FixedPoint))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . m) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (m))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . imap) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (imap))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . damping) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (damping))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . beta) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (beta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . R) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (R))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gamma) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gamma))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . cvals) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (cvals))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . df) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (df))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . dg) as usize - ptr as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (dg))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . q) as usize - ptr as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (q))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Xvecs) as usize - ptr as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (Xvecs))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . yprev) as usize - ptr as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (yprev))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gy) as usize - ptr as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gy))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fold) as usize - ptr as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (fold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gold) as usize - ptr as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (gold))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 148usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_FixedPoint) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint (y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens (count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_FixedPoint (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_FixedPoint (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_FixedPoint (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_FixedPoint (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_FixedPoint (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetDamping_FixedPoint (NLS : SUNNonlinearSolver , beta : sunrealtype) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_FixedPoint (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_FixedPoint (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_FixedPoint (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_FixedPoint (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _SUNNonlinearSolverContent_Newton { pub Sys : SUNNonlinSolSysFn , pub LSetup : SUNNonlinSolLSetupFn , pub LSolve : SUNNonlinSolLSolveFn , pub CTest : SUNNonlinSolConvTestFn , pub delta : N_Vector , pub jcur : :: std :: os :: raw :: c_int , pub curiter : :: std :: os :: raw :: c_int , pub maxiters : :: std :: os :: raw :: c_int , pub niters : :: std :: os :: raw :: c_long , pub nconvfails : :: std :: os :: raw :: c_long , pub ctest_data : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton () { const UNINIT : :: std :: mem :: MaybeUninit < _SUNNonlinearSolverContent_Newton > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > () , 80usize , concat ! ("Size of: " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (:: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > () , 8usize , concat ! ("Alignment of " , stringify ! (_SUNNonlinearSolverContent_Newton))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . Sys) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (Sys))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSetup) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSetup))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . LSolve) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (LSolve))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . CTest) as usize - ptr as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (CTest))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . delta) as usize - ptr as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (delta))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . jcur) as usize - ptr as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (jcur))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . curiter) as usize - ptr as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (curiter))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . maxiters) as usize - ptr as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (maxiters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . niters) as usize - ptr as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (niters))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . nconvfails) as usize - ptr as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (nconvfails))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ctest_data) as usize - ptr as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_SUNNonlinearSolverContent_Newton) , "::" , stringify ! (ctest_data))) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton (y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens (count : :: std :: os :: raw :: c_int , y : N_Vector , sunctx : SUNContext) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSolGetType_Newton (NLS : SUNNonlinearSolver) -> SUNNonlinearSolver_Type ; } extern "C" { pub fn SUNNonlinSolInitialize_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSolve_Newton (NLS : SUNNonlinearSolver , y0 : N_Vector , y : N_Vector , w : N_Vector , tol : sunrealtype , callLSetup : :: std :: os :: raw :: c_int , mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNNonlinSolFree_Newton (NLS : SUNNonlinearSolver) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSetupFn_Newton (NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetLSolveFn_Newton (NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetConvTestFn_Newton (NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn , ctest_data : * mut :: std :: os :: raw :: c_void) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolSetMaxIters_Newton (NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumIters_Newton (NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetCurIter_Newton (NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetNumConvFails_Newton (NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long) -> SUNErrCode ; } extern "C" { pub fn SUNNonlinSolGetSysFn_Newton (NLS : SUNNonlinearSolver , SysFn : * mut SUNNonlinSolSysFn) -> SUNErrCode ; } pub type CVLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , jok : :: std :: os :: raw :: c_int , jcurPtr : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , r : N_Vector , z : N_Vector , gamma : sunrealtype , delta : sunrealtype , lr : :: std :: os :: raw :: c_int , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , t : sunrealtype , y : N_Vector , fy : N_Vector , user_data : * mut :: std :: os :: raw :: c_void , tmp : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type CVLsLinSysFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , fy : N_Vector , A : SUNMatrix , jok : :: std :: os :: raw :: c_int , jcur : * mut :: std :: os :: raw :: c_int , gamma : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetLinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacEvalFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinearSolutionScaling (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxBadJac (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_jbad : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsLin (cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSNormFactor (arkode_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetPreconditioner (cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetJacTimes (cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLinSysFn (cvode_mem : * mut :: std :: os :: raw :: c_void , linsys : CVLsLinSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJac (cvode_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacTime (cvode_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetJacNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJacEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumPrecSolves (cvode_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJTSetupEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumJtimesEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinSolveStats (cvode_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long , nfevalsLS : * mut :: std :: os :: raw :: c_long , nliters : * mut :: std :: os :: raw :: c_long , nlcfails : * mut :: std :: os :: raw :: c_long , npevals : * mut :: std :: os :: raw :: c_long , npsolves : * mut :: std :: os :: raw :: c_long , njtsetups : * mut :: std :: os :: raw :: c_long , njtimes : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastLinFlag (cvode_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type CVProjFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , ycur : N_Vector , corr : N_Vector , epsProj : sunrealtype , err : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeSetProjFn (cvode_mem : * mut :: std :: os :: raw :: c_void , pfun : CVProjFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjErrEst (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , proj_freq : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , max_fails : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEpsProj (cvode_mem : * mut :: std :: os :: raw :: c_void , eps : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetProjFailEta (cvode_mem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nproj : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumProjFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nprf : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } pub type CVRhsFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , ydot : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVRootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type CVMonitorFn = :: std :: option :: Option < unsafe extern "C" fn (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn CVodeCreate (lmm : :: std :: os :: raw :: c_int , sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn CVodeInit (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeReInit (cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , y0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSStolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSVtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeWFtolerances (cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetConstraints (cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetDeltaGammaMaxLSetup (cvode_mem : * mut :: std :: os :: raw :: c_void , dgmax_lsetup : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetLSetupFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , msbp : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxHnilWarns (cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNonlinIters (cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxOrd (cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMaxStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMinStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFn (cvode_mem : * mut :: std :: os :: raw :: c_void , fn_ : CVMonitorFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetMonitorFrequency (cvode_mem : * mut :: std :: os :: raw :: c_void , nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNlsRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , f : CVRhsFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinConvCoef (cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNonlinearSolver (cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStabLimDet (cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetInterpolateStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void , interp : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeClearStopTime (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUseIntegratorFusedKernels (cvode_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaFixedStepBounds (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxFirstStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_fs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_es : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumStepsEtaMaxEarlyStep (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nst : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMax (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_gs : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMin (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMinErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_max_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNumFailsEtaMaxErrFail (cvode_mem : * mut :: std :: os :: raw :: c_void , small_nef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetEtaConvFail (cvode_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeRootInit (cvode_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : CVRootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetRootDirection (cvode_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeSetNoInactiveRootWarn (cvode_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVode (cvode_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , yout : N_Vector , tret : * mut sunrealtype , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeComputeState (cvode_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetDky (cvode_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetWorkSpace (cvode_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumSteps (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumRhsEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumLinSolvSetups (cvode_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumErrTestFails (cvode_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qlast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentOrder (cvode_mem : * mut :: std :: os :: raw :: c_void , qcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentGamma (cvode_mem : * mut :: std :: os :: raw :: c_void , gamma : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStabLimOrderReds (cvode_mem : * mut :: std :: os :: raw :: c_void , nslred : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetActualInitStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetLastStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentStep (cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentState (cvode_mem : * mut :: std :: os :: raw :: c_void , y : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetCurrentTime (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetTolScaleFactor (cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetErrWeights (cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetEstLocalErrors (cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumGEvals (cvode_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetRootInfo (cvode_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetIntegratorStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nfevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinearSystemData (cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , ypred : * mut N_Vector , yn : * mut N_Vector , fn_ : * mut N_Vector , gamma : * mut sunrealtype , rl1 : * mut sunrealtype , zn1 : * mut N_Vector , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvIters (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumNonlinSolvConvFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNonlinSolvStats (cvode_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetNumStepSolveFails (cvode_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetUserData (cvode_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodePrintAllStats (cvode_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CVodeGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn CVodeFree (cvode_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn CVodeSetJacTimesRhsFn (cvode_mem : * mut :: std :: os :: raw :: c_void , jtimesRhsFn : CVRhsFn) -> :: std :: os :: raw :: c_int ; } pub type IDALsJacFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , c_j : sunrealtype , y : N_Vector , yp : N_Vector , r : N_Vector , Jac : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector , tmp3 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , rvec : N_Vector , zvec : N_Vector , c_j : sunrealtype , delta : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesSetupFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDALsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , v : N_Vector , Jv : N_Vector , c_j : sunrealtype , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDASetLinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacFn (ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetPreconditioner (ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetJacTimes (ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEpsLin (ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLSNormFactor (ida_mem : * mut :: std :: os :: raw :: c_void , nrmfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLinearSolutionScaling (ida_mem : * mut :: std :: os :: raw :: c_void , onoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetIncrementFactor (ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJac (ida_mem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacTime (ida_mem : * mut :: std :: os :: raw :: c_void , t_J : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetJacNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nst_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJacEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecEvals (ida_mem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumPrecSolves (ida_mem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinIters (ida_mem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJTSetupEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njtsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumJtimesEvals (ida_mem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevalsLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastLinFlag (ida_mem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type IDAResFn = :: std :: option :: Option < unsafe extern "C" fn (tt : sunrealtype , yy : N_Vector , yp : N_Vector , rr : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDARootFn = :: std :: option :: Option < unsafe extern "C" fn (t : sunrealtype , y : N_Vector , yp : N_Vector , gout : * mut sunrealtype , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type IDAEwtFn = :: std :: option :: Option < unsafe extern "C" fn (y : N_Vector , ewt : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn IDACreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn IDAInit (ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAReInit (ida_mem : * mut :: std :: os :: raw :: c_void , t0 : sunrealtype , yy0 : N_Vector , yp0 : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASStolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASVtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , reltol : sunrealtype , abstol : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAWFtolerances (ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDACalcIC (ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoefIC (ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumStepsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumJacsIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumItersIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetLineSearchOffIC (ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStepToleranceIC (ida_mem : * mut :: std :: os :: raw :: c_void , steptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxBacksIC (ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetDeltaCjLSetup (ida_max : * mut :: std :: os :: raw :: c_void , dcj : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxOrd (ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMinStep (ida_mem : * mut :: std :: os :: raw :: c_void , hmin : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetStopTime (ida_mem : * mut :: std :: os :: raw :: c_void , tstop : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAClearStopTime (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg (ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetId (ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetConstraints (ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaFixedStepBounds (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_fx : sunrealtype , eta_max_fx : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMin (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMax (ida_mem : * mut :: std :: os :: raw :: c_void , eta_max : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaLow (ida_mem : * mut :: std :: os :: raw :: c_void , eta_low : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaMinErrFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_min_ef : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetEtaConvFail (ida_mem : * mut :: std :: os :: raw :: c_void , eta_cf : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetMaxNonlinIters (ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNlsResFn (IDA_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinConvCoef (ida_mem : * mut :: std :: os :: raw :: c_void , epcon : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNonlinearSolver (ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDARootInit (ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetRootDirection (ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetNoInactiveRootWarn (ida_mem : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASolve (ida_mem : * mut :: std :: os :: raw :: c_void , tout : sunrealtype , tret : * mut sunrealtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeY (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , y : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAComputeYp (ida_mem : * mut :: std :: os :: raw :: c_void , ycor : N_Vector , yp : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetDky (ida_mem : * mut :: std :: os :: raw :: c_void , t : sunrealtype , k : :: std :: os :: raw :: c_int , dky : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetWorkSpace (ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumSteps (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumResEvals (ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumLinSolvSetups (ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumErrTestFails (ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumBacktrackOps (ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetConsistentIC (ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastOrder (ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentOrder (ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentCj (ida_mem : * mut :: std :: os :: raw :: c_void , cj : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentY (ida_mem : * mut :: std :: os :: raw :: c_void , ycur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentYp (ida_mem : * mut :: std :: os :: raw :: c_void , ypcur : * mut N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetActualInitStep (ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetLastStep (ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentStep (ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetCurrentTime (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetTolScaleFactor (ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetErrWeights (ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetEstLocalErrors (ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumGEvals (ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetRootInfo (ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetIntegratorStats (ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut sunrealtype , hlast : * mut sunrealtype , hcur : * mut sunrealtype , tcur : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinearSystemData (ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut sunrealtype , yypred : * mut N_Vector , yppred : * mut N_Vector , yyn : * mut N_Vector , ypn : * mut N_Vector , res : * mut N_Vector , cj : * mut sunrealtype , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvIters (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumNonlinSolvConvFails (ida_mem : * mut :: std :: os :: raw :: c_void , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNonlinSolvStats (ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long , nnfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetNumStepSolveFails (ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetUserData (ida_mem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAPrintAllStats (ida_mem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDAGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn IDAFree (ida_mem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn IDASetJacTimesResFn (ida_mem : * mut :: std :: os :: raw :: c_void , jtimesResFn : IDAResFn) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn (u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn (v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn KINSetLinearSolver (kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacFn (kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetPreconditioner (kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetJacTimesVecFn (kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJac (kinmem : * mut :: std :: os :: raw :: c_void , J : * mut SUNMatrix) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetJacNumIters (kinmem : * mut :: std :: os :: raw :: c_void , nni_J : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJacEvals (kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecEvals (kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumPrecSolves (kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinIters (kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumLinConvFails (kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumJtimesEvals (kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLastLinFlag (kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetLinReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn (uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn (module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; extern "C" { pub fn KINCreate (sunctx : SUNContext) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn KINInit (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSol (kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDamping (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMAA (kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetOrthAA (kinmem : * mut :: std :: os :: raw :: c_void , orthaa : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDelayAA (kinmem : * mut :: std :: os :: raw :: c_void , delay : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetDampingAA (kinmem : * mut :: std :: os :: raw :: c_void , beta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetReturnNewest (kinmem : * mut :: std :: os :: raw :: c_void , ret_newest : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNumMaxIters (kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoInitSetup (kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoResMon (kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxSubSetupCalls (kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaForm (kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaConstValue (kinmem : * mut :: std :: os :: raw :: c_void , eta : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetEtaParams (kinmem : * mut :: std :: os :: raw :: c_void , egamma : sunrealtype , ealpha : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonParams (kinmem : * mut :: std :: os :: raw :: c_void , omegamin : sunrealtype , omegamax : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetResMonConstValue (kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetNoMinEps (kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxNewtonStep (kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetMaxBetaFails (kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetRelErrFunc (kinmem : * mut :: std :: os :: raw :: c_void , relfunc : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetFuncNormTol (kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetScaledStepTol (kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetConstraints (kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINSetSysFunc (kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetWorkSpace (kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumNonlinSolvIters (kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumFuncEvals (kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBetaCondFails (kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetNumBacktrackOps (kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetFuncNorm (kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetStepLength (kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut sunrealtype) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetUserData (kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINPrintAllStats (kinmem : * mut :: std :: os :: raw :: c_void , outfile : * mut FILE , fmt : SUNOutputFormat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn KINGetReturnFlagName (flag : :: std :: os :: raw :: c_long) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn KINFree (kinmem : * mut * mut :: std :: os :: raw :: c_void) ; } extern "C" { pub fn KINSetJacTimesVecSysFn (kinmem : * mut :: std :: os :: raw :: c_void , jtimesSysFn : KINSysFn) -> :: std :: os :: raw :: c_int ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [test] fn bindgen_test_layout___va_list_tag () { const UNINIT : :: std :: mem :: MaybeUninit < __va_list_tag > = :: std :: mem :: MaybeUninit :: uninit () ; let ptr = UNINIT . as_ptr () ; assert_eq ! (:: std :: mem :: size_of :: < __va_list_tag > () , 24usize , concat ! ("Size of: " , stringify ! (__va_list_tag))) ; assert_eq ! (:: std :: mem :: align_of :: < __va_list_tag > () , 8usize , concat ! ("Alignment of " , stringify ! (__va_list_tag))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . gp_offset) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (gp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . fp_offset) as usize - ptr as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (fp_offset))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . overflow_arg_area) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (overflow_arg_area))) ; assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . reg_save_area) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__va_list_tag) , "::" , stringify ! (reg_save_area))) ; }
[WARN] too much data in the log, truncating it
