pub const _STDIO_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2X: 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 = 200809;
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 __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __TIMESIZE: u32 = 64;
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 _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 = 35;
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_C2X: 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_C2X: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const __GNUC_VA_LIST: u32 = 1;
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 _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 _BITS_STDIO_LIM_H: u32 = 1;
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
pub const __HAVE_FLOAT128: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
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.0.0\0";
pub const SUNDIALS_VERSION_MAJOR: u32 = 7;
pub const SUNDIALS_VERSION_MINOR: u32 = 0;
pub const SUNDIALS_VERSION_PATCH: u32 = 0;
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"11.4.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"20240429114336\0";
pub const SUN_JOB_START_TIME: &[u8; 15] = b"20240429114336\0";
pub const SUN_TPL_LIST: &[u8; 19] = b"OPENMP;KLU;PTHREAD\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_CVODES: u32 = 1;
pub const SUNDIALS_IDA: u32 = 1;
pub const SUNDIALS_IDAS: 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_NVECTOR_OPENMP: u32 = 1;
pub const SUNDIALS_NVECTOR_PTHREADS: 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_SUNLINSOL_KLU: 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 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 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 CVLS_NO_ADJ: i32 = -101;
pub const CVLS_LMEMB_NULL: i32 = -102;
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_SIMULTANEOUS: ::std::os::raw::c_int = 1;
pub const CV_STAGGERED: ::std::os::raw::c_int = 2;
pub const CV_STAGGERED1: ::std::os::raw::c_int = 3;
pub const CV_CENTERED: ::std::os::raw::c_int = 1;
pub const CV_FORWARD: ::std::os::raw::c_int = 2;
pub const CV_HERMITE: ::std::os::raw::c_int = 1;
pub const CV_POLYNOMIAL: ::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_NO_QUAD: ::std::os::raw::c_int = -30;
pub const CV_QRHSFUNC_FAIL: ::std::os::raw::c_int = -31;
pub const CV_FIRST_QRHSFUNC_ERR: ::std::os::raw::c_int = -32;
pub const CV_REPTD_QRHSFUNC_ERR: ::std::os::raw::c_int = -33;
pub const CV_UNREC_QRHSFUNC_ERR: ::std::os::raw::c_int = -34;
pub const CV_NO_SENS: ::std::os::raw::c_int = -40;
pub const CV_SRHSFUNC_FAIL: ::std::os::raw::c_int = -41;
pub const CV_FIRST_SRHSFUNC_ERR: ::std::os::raw::c_int = -42;
pub const CV_REPTD_SRHSFUNC_ERR: ::std::os::raw::c_int = -43;
pub const CV_UNREC_SRHSFUNC_ERR: ::std::os::raw::c_int = -44;
pub const CV_BAD_IS: ::std::os::raw::c_int = -45;
pub const CV_NO_QUADSENS: ::std::os::raw::c_int = -50;
pub const CV_QSRHSFUNC_FAIL: ::std::os::raw::c_int = -51;
pub const CV_FIRST_QSRHSFUNC_ERR: ::std::os::raw::c_int = -52;
pub const CV_REPTD_QSRHSFUNC_ERR: ::std::os::raw::c_int = -53;
pub const CV_UNREC_QSRHSFUNC_ERR: ::std::os::raw::c_int = -54;
pub const CV_CONTEXT_ERR: ::std::os::raw::c_int = -55;
pub const CV_PROJ_MEM_NULL: ::std::os::raw::c_int = -56;
pub const CV_PROJFUNC_FAIL: ::std::os::raw::c_int = -57;
pub const CV_REPTD_PROJFUNC_ERR: ::std::os::raw::c_int = -58;
pub const CV_BAD_TINTERP: ::std::os::raw::c_int = -59;
pub const CV_UNRECOGNIZED_ERR: ::std::os::raw::c_int = -99;
pub const CV_NO_ADJ: ::std::os::raw::c_int = -101;
pub const CV_NO_FWD: ::std::os::raw::c_int = -102;
pub const CV_NO_BCK: ::std::os::raw::c_int = -103;
pub const CV_BAD_TB0: ::std::os::raw::c_int = -104;
pub const CV_REIFWD_FAIL: ::std::os::raw::c_int = -105;
pub const CV_FWD_FAIL: ::std::os::raw::c_int = -106;
pub const CV_GETY_BADT: ::std::os::raw::c_int = -107;
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 IDALS_NO_ADJ: i32 = -101;
pub const IDALS_LMEMB_NULL: i32 = -102;
pub const IDA_SIMULTANEOUS: ::std::os::raw::c_int = 1;
pub const IDA_STAGGERED: ::std::os::raw::c_int = 2;
pub const IDA_CENTERED: ::std::os::raw::c_int = 1;
pub const IDA_FORWARD: ::std::os::raw::c_int = 2;
pub const IDA_HERMITE: ::std::os::raw::c_int = 1;
pub const IDA_POLYNOMIAL: ::std::os::raw::c_int = 2;
pub const IDA_NO_QUAD: ::std::os::raw::c_int = -30;
pub const IDA_QRHS_FAIL: ::std::os::raw::c_int = -31;
pub const IDA_FIRST_QRHS_ERR: ::std::os::raw::c_int = -32;
pub const IDA_REP_QRHS_ERR: ::std::os::raw::c_int = -33;
pub const IDA_NO_SENS: ::std::os::raw::c_int = -40;
pub const IDA_SRES_FAIL: ::std::os::raw::c_int = -41;
pub const IDA_REP_SRES_ERR: ::std::os::raw::c_int = -42;
pub const IDA_BAD_IS: ::std::os::raw::c_int = -43;
pub const IDA_NO_QUADSENS: ::std::os::raw::c_int = -50;
pub const IDA_QSRHS_FAIL: ::std::os::raw::c_int = -51;
pub const IDA_FIRST_QSRHS_ERR: ::std::os::raw::c_int = -52;
pub const IDA_REP_QSRHS_ERR: ::std::os::raw::c_int = -53;
pub const IDA_NO_ADJ: ::std::os::raw::c_int = -101;
pub const IDA_NO_FWD: ::std::os::raw::c_int = -102;
pub const IDA_NO_BCK: ::std::os::raw::c_int = -103;
pub const IDA_BAD_TB0: ::std::os::raw::c_int = -104;
pub const IDA_REIFWD_FAIL: ::std::os::raw::c_int = -105;
pub const IDA_FWD_FAIL: ::std::os::raw::c_int = -106;
pub const IDA_GETY_BADT: ::std::os::raw::c_int = -107;
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 const _LIBC_LIMITS_H_: u32 = 1;
pub const MB_LEN_MAX: u32 = 16;
pub const _BITS_POSIX1_LIM_H: u32 = 1;
pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
pub const _POSIX_AIO_MAX: u32 = 1;
pub const _POSIX_ARG_MAX: u32 = 4096;
pub const _POSIX_CHILD_MAX: u32 = 25;
pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
pub const _POSIX_HOST_NAME_MAX: u32 = 255;
pub const _POSIX_LINK_MAX: u32 = 8;
pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
pub const _POSIX_MAX_CANON: u32 = 255;
pub const _POSIX_MAX_INPUT: u32 = 255;
pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
pub const _POSIX_NAME_MAX: u32 = 14;
pub const _POSIX_NGROUPS_MAX: u32 = 8;
pub const _POSIX_OPEN_MAX: u32 = 20;
pub const _POSIX_PATH_MAX: u32 = 256;
pub const _POSIX_PIPE_BUF: u32 = 512;
pub const _POSIX_RE_DUP_MAX: u32 = 255;
pub const _POSIX_RTSIG_MAX: u32 = 8;
pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
pub const _POSIX_SSIZE_MAX: u32 = 32767;
pub const _POSIX_STREAM_MAX: u32 = 8;
pub const _POSIX_SYMLINK_MAX: u32 = 255;
pub const _POSIX_SYMLOOP_MAX: u32 = 8;
pub const _POSIX_TIMER_MAX: u32 = 32;
pub const _POSIX_TTY_NAME_MAX: u32 = 9;
pub const _POSIX_TZNAME_MAX: u32 = 6;
pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
pub const NR_OPEN: u32 = 1024;
pub const NGROUPS_MAX: u32 = 65536;
pub const ARG_MAX: u32 = 131072;
pub const LINK_MAX: u32 = 127;
pub const MAX_CANON: u32 = 255;
pub const MAX_INPUT: u32 = 255;
pub const NAME_MAX: u32 = 255;
pub const PATH_MAX: u32 = 4096;
pub const PIPE_BUF: u32 = 4096;
pub const XATTR_NAME_MAX: u32 = 255;
pub const XATTR_SIZE_MAX: u32 = 65536;
pub const XATTR_LIST_MAX: u32 = 65536;
pub const RTSIG_MAX: u32 = 32;
pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
pub const PTHREAD_KEYS_MAX: u32 = 1024;
pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
pub const AIO_PRIO_DELTA_MAX: u32 = 20;
pub const PTHREAD_STACK_MIN: u32 = 16384;
pub const DELAYTIMER_MAX: u32 = 2147483647;
pub const TTY_NAME_MAX: u32 = 32;
pub const LOGIN_NAME_MAX: u32 = 256;
pub const HOST_NAME_MAX: u32 = 64;
pub const MQ_PRIO_MAX: u32 = 32768;
pub const SEM_VALUE_MAX: u32 = 2147483647;
pub const _BITS_POSIX2_LIM_H: u32 = 1;
pub const _POSIX2_BC_BASE_MAX: u32 = 99;
pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
pub const _POSIX2_LINE_MAX: u32 = 2048;
pub const _POSIX2_RE_DUP_MAX: u32 = 255;
pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
pub const BC_BASE_MAX: u32 = 99;
pub const BC_DIM_MAX: u32 = 2048;
pub const BC_SCALE_MAX: u32 = 99;
pub const BC_STRING_MAX: u32 = 1000;
pub const COLL_WEIGHTS_MAX: u32 = 255;
pub const EXPR_NEST_MAX: u32 = 32;
pub const LINE_MAX: u32 = 2048;
pub const CHARCLASS_NAME_MAX: u32 = 2048;
pub const RE_DUP_MAX: u32 = 32767;
pub const SuiteSparse_long_idd: &[u8; 3] = b"ld\0";
pub const SuiteSparse_long_id: &[u8; 4] = b"%ld\0";
pub const SUITESPARSE_DATE: &[u8; 13] = b"May 17, 2021\0";
pub const SUITESPARSE_MAIN_VERSION: u32 = 5;
pub const SUITESPARSE_SUB_VERSION: u32 = 10;
pub const SUITESPARSE_SUBSUB_VERSION: u32 = 1;
pub const AMD_CONTROL: u32 = 5;
pub const AMD_INFO: u32 = 20;
pub const AMD_DENSE: u32 = 0;
pub const AMD_AGGRESSIVE: u32 = 1;
pub const AMD_DEFAULT_DENSE: f64 = 10.0;
pub const AMD_DEFAULT_AGGRESSIVE: u32 = 1;
pub const AMD_STATUS: u32 = 0;
pub const AMD_N: u32 = 1;
pub const AMD_NZ: u32 = 2;
pub const AMD_SYMMETRY: u32 = 3;
pub const AMD_NZDIAG: u32 = 4;
pub const AMD_NZ_A_PLUS_AT: u32 = 5;
pub const AMD_NDENSE: u32 = 6;
pub const AMD_MEMORY: u32 = 7;
pub const AMD_NCMPA: u32 = 8;
pub const AMD_LNZ: u32 = 9;
pub const AMD_NDIV: u32 = 10;
pub const AMD_NMULTSUBS_LDL: u32 = 11;
pub const AMD_NMULTSUBS_LU: u32 = 12;
pub const AMD_DMAX: u32 = 13;
pub const AMD_OK: u32 = 0;
pub const AMD_OUT_OF_MEMORY: i32 = -1;
pub const AMD_INVALID: i32 = -2;
pub const AMD_OK_BUT_JUMBLED: u32 = 1;
pub const AMD_DATE: &[u8; 12] = b"May 4, 2016\0";
pub const AMD_MAIN_VERSION: u32 = 2;
pub const AMD_SUB_VERSION: u32 = 4;
pub const AMD_SUBSUB_VERSION: u32 = 6;
pub const COLAMD_DATE: &[u8; 12] = b"May 4, 2016\0";
pub const COLAMD_MAIN_VERSION: u32 = 2;
pub const COLAMD_SUB_VERSION: u32 = 9;
pub const COLAMD_SUBSUB_VERSION: u32 = 6;
pub const COLAMD_KNOBS: u32 = 20;
pub const COLAMD_STATS: u32 = 20;
pub const COLAMD_DENSE_ROW: u32 = 0;
pub const COLAMD_DENSE_COL: u32 = 1;
pub const COLAMD_AGGRESSIVE: u32 = 2;
pub const COLAMD_DEFRAG_COUNT: u32 = 2;
pub const COLAMD_STATUS: u32 = 3;
pub const COLAMD_INFO1: u32 = 4;
pub const COLAMD_INFO2: u32 = 5;
pub const COLAMD_INFO3: u32 = 6;
pub const COLAMD_OK: u32 = 0;
pub const COLAMD_OK_BUT_JUMBLED: u32 = 1;
pub const COLAMD_ERROR_A_not_present: i32 = -1;
pub const COLAMD_ERROR_p_not_present: i32 = -2;
pub const COLAMD_ERROR_nrow_negative: i32 = -3;
pub const COLAMD_ERROR_ncol_negative: i32 = -4;
pub const COLAMD_ERROR_nnz_negative: i32 = -5;
pub const COLAMD_ERROR_p0_nonzero: i32 = -6;
pub const COLAMD_ERROR_A_too_small: i32 = -7;
pub const COLAMD_ERROR_col_length_negative: i32 = -8;
pub const COLAMD_ERROR_row_index_out_of_bounds: i32 = -9;
pub const COLAMD_ERROR_out_of_memory: i32 = -10;
pub const COLAMD_ERROR_internal_error: i32 = -999;
pub const BTF_DATE: &[u8; 12] = b"May 4, 2016\0";
pub const BTF_MAIN_VERSION: u32 = 1;
pub const BTF_SUB_VERSION: u32 = 2;
pub const BTF_SUBSUB_VERSION: u32 = 6;
pub const KLU_OK: u32 = 0;
pub const KLU_SINGULAR: u32 = 1;
pub const KLU_OUT_OF_MEMORY: i32 = -2;
pub const KLU_INVALID: i32 = -3;
pub const KLU_TOO_LARGE: i32 = -4;
pub const KLU_DATE: &[u8; 13] = b"Mar 12, 2018\0";
pub const KLU_MAIN_VERSION: u32 = 1;
pub const KLU_SUB_VERSION: u32 = 3;
pub const KLU_SUBSUB_VERSION: u32 = 9;
pub const SUNKLU_ORDERING_DEFAULT: u32 = 1;
pub const SUNKLU_REINIT_FULL: u32 = 1;
pub const SUNKLU_REINIT_PARTIAL: u32 = 2;
pub type va_list = __builtin_va_list;
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 _flags2: ::std::os::raw::c_int,
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 __pad5: usize,
pub _mode: ::std::os::raw::c_int,
pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[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)._flags2) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
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).__pad5) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
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)._unused2) as usize - ptr as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_unused2)
)
);
}
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 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 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 _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 __elision: ::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).__elision) as usize - ptr as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__elision)
)
);
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 __rwelision: ::std::os::raw::c_schar,
pub __pad1: [::std::os::raw::c_uchar; 7usize],
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).__rwelision) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
33usize,
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_refs: [::std::os::raw::c_uint; 2usize],
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],
}
#[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_refs) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_refs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
24usize,
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 },
32usize,
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 },
36usize,
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 },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_signals)
)
);
}
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 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_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_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 __acos(__x: f64) -> f64;
}
extern "C" {
pub fn asin(__x: f64) -> f64;
}
extern "C" {
pub fn __asin(__x: f64) -> f64;
}
extern "C" {
pub fn atan(__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 __atan2(__y: f64, __x: f64) -> f64;
}
extern "C" {
pub fn cos(__x: f64) -> f64;
}
extern "C" {
pub fn __cos(__x: f64) -> f64;
}
extern "C" {
pub fn sin(__x: f64) -> f64;
}
extern "C" {
pub fn __sin(__x: f64) -> f64;
}
extern "C" {
pub fn tan(__x: f64) -> f64;
}
extern "C" {
pub fn __tan(__x: f64) -> f64;
}
extern "C" {
pub fn cosh(__x: f64) -> f64;
}
extern "C" {
pub fn __cosh(__x: f64) -> f64;
}
extern "C" {
pub fn sinh(__x: f64) -> f64;
}
extern "C" {
pub fn __sinh(__x: f64) -> f64;
}
extern "C" {
pub fn tanh(__x: f64) -> f64;
}
extern "C" {
pub fn __tanh(__x: f64) -> f64;
}
extern "C" {
pub fn acosh(__x: f64) -> f64;
}
extern "C" {
pub fn __acosh(__x: f64) -> f64;
}
extern "C" {
pub fn asinh(__x: f64) -> f64;
}
extern "C" {
pub fn __asinh(__x: f64) -> f64;
}
extern "C" {
pub fn atanh(__x: f64) -> f64;
}
extern "C" {
pub fn __atanh(__x: f64) -> f64;
}
extern "C" {
pub fn exp(__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 __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 __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn log(__x: f64) -> f64;
}
extern "C" {
pub fn __log(__x: f64) -> f64;
}
extern "C" {
pub fn log10(__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 __modf(__x: f64, __iptr: *mut f64) -> f64;
}
extern "C" {
pub fn expm1(__x: f64) -> f64;
}
extern "C" {
pub fn __expm1(__x: f64) -> f64;
}
extern "C" {
pub fn log1p(__x: f64) -> f64;
}
extern "C" {
pub fn __log1p(__x: f64) -> f64;
}
extern "C" {
pub fn logb(__x: f64) -> f64;
}
extern "C" {
pub fn __logb(__x: f64) -> f64;
}
extern "C" {
pub fn exp2(__x: f64) -> f64;
}
extern "C" {
pub fn __exp2(__x: f64) -> f64;
}
extern "C" {
pub fn log2(__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 __pow(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn sqrt(__x: f64) -> f64;
}
extern "C" {
pub fn __sqrt(__x: f64) -> f64;
}
extern "C" {
pub fn hypot(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn __hypot(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn cbrt(__x: f64) -> f64;
}
extern "C" {
pub fn __cbrt(__x: f64) -> f64;
}
extern "C" {
pub fn ceil(__x: f64) -> f64;
}
extern "C" {
pub fn __ceil(__x: f64) -> f64;
}
extern "C" {
pub fn fabs(__x: f64) -> f64;
}
extern "C" {
pub fn __fabs(__x: f64) -> f64;
}
extern "C" {
pub fn floor(__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 __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 __drem(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn significand(__x: f64) -> f64;
}
extern "C" {
pub fn __significand(__x: f64) -> f64;
}
extern "C" {
pub fn copysign(__x: f64, __y: 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 __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 __j0(arg1: f64) -> f64;
}
extern "C" {
pub fn j1(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 __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn y0(arg1: f64) -> f64;
}
extern "C" {
pub fn __y0(arg1: f64) -> f64;
}
extern "C" {
pub fn y1(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 __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
}
extern "C" {
pub fn erf(arg1: f64) -> f64;
}
extern "C" {
pub fn __erf(arg1: f64) -> f64;
}
extern "C" {
pub fn erfc(arg1: f64) -> f64;
}
extern "C" {
pub fn __erfc(arg1: f64) -> f64;
}
extern "C" {
pub fn lgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __lgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn tgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __tgamma(arg1: f64) -> f64;
}
extern "C" {
pub fn gamma(arg1: f64) -> f64;
}
extern "C" {
pub fn __gamma(arg1: f64) -> f64;
}
extern "C" {
pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
pub fn rint(__x: f64) -> f64;
}
extern "C" {
pub fn __rint(__x: f64) -> f64;
}
extern "C" {
pub fn nextafter(__x: f64, __y: 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 __nexttoward(__x: f64, __y: u128) -> f64;
}
extern "C" {
pub fn remainder(__x: f64, __y: f64) -> 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 __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 __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 __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
}
extern "C" {
pub fn nearbyint(__x: f64) -> f64;
}
extern "C" {
pub fn __nearbyint(__x: f64) -> f64;
}
extern "C" {
pub fn round(__x: f64) -> f64;
}
extern "C" {
pub fn __round(__x: f64) -> f64;
}
extern "C" {
pub fn trunc(__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 __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 __lrint(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
}
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 __lround(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
}
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 __fdim(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn fmax(__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 __fmin(__x: f64, __y: f64) -> f64;
}
extern "C" {
pub fn fma(__x: f64, __y: f64, __z: 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 fn __scalb(__x: f64, __n: f64) -> f64;
}
extern "C" {
pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn acosf(__x: f32) -> f32;
}
extern "C" {
pub fn __acosf(__x: f32) -> f32;
}
extern "C" {
pub fn asinf(__x: f32) -> f32;
}
extern "C" {
pub fn __asinf(__x: f32) -> f32;
}
extern "C" {
pub fn atanf(__x: f32) -> f32;
}
extern "C" {
pub fn __atanf(__x: f32) -> f32;
}
extern "C" {
pub fn atan2f(__y: f32, __x: f32) -> f32;
}
extern "C" {
pub fn __atan2f(__y: f32, __x: f32) -> f32;
}
extern "C" {
pub fn cosf(__x: f32) -> f32;
}
extern "C" {
pub fn __cosf(__x: f32) -> f32;
}
extern "C" {
pub fn sinf(__x: f32) -> f32;
}
extern "C" {
pub fn __sinf(__x: f32) -> f32;
}
extern "C" {
pub fn tanf(__x: f32) -> f32;
}
extern "C" {
pub fn __tanf(__x: f32) -> f32;
}
extern "C" {
pub fn coshf(__x: f32) -> f32;
}
extern "C" {
pub fn __coshf(__x: f32) -> f32;
}
extern "C" {
pub fn sinhf(__x: f32) -> f32;
}
extern "C" {
pub fn __sinhf(__x: f32) -> f32;
}
extern "C" {
pub fn tanhf(__x: f32) -> f32;
}
extern "C" {
pub fn __tanhf(__x: f32) -> f32;
}
extern "C" {
pub fn acoshf(__x: f32) -> f32;
}
extern "C" {
pub fn __acoshf(__x: f32) -> f32;
}
extern "C" {
pub fn asinhf(__x: f32) -> f32;
}
extern "C" {
pub fn __asinhf(__x: f32) -> f32;
}
extern "C" {
pub fn atanhf(__x: f32) -> f32;
}
extern "C" {
pub fn __atanhf(__x: f32) -> f32;
}
extern "C" {
pub fn expf(__x: f32) -> f32;
}
extern "C" {
pub fn __expf(__x: f32) -> f32;
}
extern "C" {
pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn logf(__x: f32) -> f32;
}
extern "C" {
pub fn __logf(__x: f32) -> f32;
}
extern "C" {
pub fn log10f(__x: f32) -> f32;
}
extern "C" {
pub fn __log10f(__x: f32) -> f32;
}
extern "C" {
pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
}
extern "C" {
pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
}
extern "C" {
pub fn expm1f(__x: f32) -> f32;
}
extern "C" {
pub fn __expm1f(__x: f32) -> f32;
}
extern "C" {
pub fn log1pf(__x: f32) -> f32;
}
extern "C" {
pub fn __log1pf(__x: f32) -> f32;
}
extern "C" {
pub fn logbf(__x: f32) -> f32;
}
extern "C" {
pub fn __logbf(__x: f32) -> f32;
}
extern "C" {
pub fn exp2f(__x: f32) -> f32;
}
extern "C" {
pub fn __exp2f(__x: f32) -> f32;
}
extern "C" {
pub fn log2f(__x: f32) -> f32;
}
extern "C" {
pub fn __log2f(__x: f32) -> f32;
}
extern "C" {
pub fn powf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __powf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn sqrtf(__x: f32) -> f32;
}
extern "C" {
pub fn __sqrtf(__x: f32) -> f32;
}
extern "C" {
pub fn hypotf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __hypotf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn cbrtf(__x: f32) -> f32;
}
extern "C" {
pub fn __cbrtf(__x: f32) -> f32;
}
extern "C" {
pub fn ceilf(__x: f32) -> f32;
}
extern "C" {
pub fn __ceilf(__x: f32) -> f32;
}
extern "C" {
pub fn fabsf(__x: f32) -> f32;
}
extern "C" {
pub fn __fabsf(__x: f32) -> f32;
}
extern "C" {
pub fn floorf(__x: f32) -> f32;
}
extern "C" {
pub fn __floorf(__x: f32) -> f32;
}
extern "C" {
pub fn fmodf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fmodf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dremf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __dremf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn significandf(__x: f32) -> f32;
}
extern "C" {
pub fn __significandf(__x: f32) -> f32;
}
extern "C" {
pub fn copysignf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __copysignf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn j0f(arg1: f32) -> f32;
}
extern "C" {
pub fn __j0f(arg1: f32) -> f32;
}
extern "C" {
pub fn j1f(arg1: f32) -> f32;
}
extern "C" {
pub fn __j1f(arg1: f32) -> f32;
}
extern "C" {
pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn y0f(arg1: f32) -> f32;
}
extern "C" {
pub fn __y0f(arg1: f32) -> f32;
}
extern "C" {
pub fn y1f(arg1: f32) -> f32;
}
extern "C" {
pub fn __y1f(arg1: f32) -> f32;
}
extern "C" {
pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
}
extern "C" {
pub fn erff(arg1: f32) -> f32;
}
extern "C" {
pub fn __erff(arg1: f32) -> f32;
}
extern "C" {
pub fn erfcf(arg1: f32) -> f32;
}
extern "C" {
pub fn __erfcf(arg1: f32) -> f32;
}
extern "C" {
pub fn lgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __lgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn tgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __tgammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn gammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn __gammaf(arg1: f32) -> f32;
}
extern "C" {
pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn rintf(__x: f32) -> f32;
}
extern "C" {
pub fn __rintf(__x: f32) -> f32;
}
extern "C" {
pub fn nextafterf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __nextafterf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn nexttowardf(__x: f32, __y: u128) -> f32;
}
extern "C" {
pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
}
extern "C" {
pub fn remainderf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __remainderf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
}
extern "C" {
pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
}
extern "C" {
pub fn nearbyintf(__x: f32) -> f32;
}
extern "C" {
pub fn __nearbyintf(__x: f32) -> f32;
}
extern "C" {
pub fn roundf(__x: f32) -> f32;
}
extern "C" {
pub fn __roundf(__x: f32) -> f32;
}
extern "C" {
pub fn truncf(__x: f32) -> f32;
}
extern "C" {
pub fn __truncf(__x: f32) -> f32;
}
extern "C" {
pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fdimf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fdimf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fmaxf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fmaxf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fminf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn __fminf(__x: f32, __y: f32) -> f32;
}
extern "C" {
pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
}
extern "C" {
pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
}
extern "C" {
pub fn scalbf(__x: f32, __n: f32) -> f32;
}
extern "C" {
pub fn __scalbf(__x: f32, __n: f32) -> f32;
}
extern "C" {
pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn acosl(__x: u128) -> u128;
}
extern "C" {
pub fn __acosl(__x: u128) -> u128;
}
extern "C" {
pub fn asinl(__x: u128) -> u128;
}
extern "C" {
pub fn __asinl(__x: u128) -> u128;
}
extern "C" {
pub fn atanl(__x: u128) -> u128;
}
extern "C" {
pub fn __atanl(__x: u128) -> u128;
}
extern "C" {
pub fn atan2l(__y: u128, __x: u128) -> u128;
}
extern "C" {
pub fn __atan2l(__y: u128, __x: u128) -> u128;
}
extern "C" {
pub fn cosl(__x: u128) -> u128;
}
extern "C" {
pub fn __cosl(__x: u128) -> u128;
}
extern "C" {
pub fn sinl(__x: u128) -> u128;
}
extern "C" {
pub fn __sinl(__x: u128) -> u128;
}
extern "C" {
pub fn tanl(__x: u128) -> u128;
}
extern "C" {
pub fn __tanl(__x: u128) -> u128;
}
extern "C" {
pub fn coshl(__x: u128) -> u128;
}
extern "C" {
pub fn __coshl(__x: u128) -> u128;
}
extern "C" {
pub fn sinhl(__x: u128) -> u128;
}
extern "C" {
pub fn __sinhl(__x: u128) -> u128;
}
extern "C" {
pub fn tanhl(__x: u128) -> u128;
}
extern "C" {
pub fn __tanhl(__x: u128) -> u128;
}
extern "C" {
pub fn acoshl(__x: u128) -> u128;
}
extern "C" {
pub fn __acoshl(__x: u128) -> u128;
}
extern "C" {
pub fn asinhl(__x: u128) -> u128;
}
extern "C" {
pub fn __asinhl(__x: u128) -> u128;
}
extern "C" {
pub fn atanhl(__x: u128) -> u128;
}
extern "C" {
pub fn __atanhl(__x: u128) -> u128;
}
extern "C" {
pub fn expl(__x: u128) -> u128;
}
extern "C" {
pub fn __expl(__x: u128) -> u128;
}
extern "C" {
pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn logl(__x: u128) -> u128;
}
extern "C" {
pub fn __logl(__x: u128) -> u128;
}
extern "C" {
pub fn log10l(__x: u128) -> u128;
}
extern "C" {
pub fn __log10l(__x: u128) -> u128;
}
extern "C" {
pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
}
extern "C" {
pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
}
extern "C" {
pub fn expm1l(__x: u128) -> u128;
}
extern "C" {
pub fn __expm1l(__x: u128) -> u128;
}
extern "C" {
pub fn log1pl(__x: u128) -> u128;
}
extern "C" {
pub fn __log1pl(__x: u128) -> u128;
}
extern "C" {
pub fn logbl(__x: u128) -> u128;
}
extern "C" {
pub fn __logbl(__x: u128) -> u128;
}
extern "C" {
pub fn exp2l(__x: u128) -> u128;
}
extern "C" {
pub fn __exp2l(__x: u128) -> u128;
}
extern "C" {
pub fn log2l(__x: u128) -> u128;
}
extern "C" {
pub fn __log2l(__x: u128) -> u128;
}
extern "C" {
pub fn powl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __powl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn sqrtl(__x: u128) -> u128;
}
extern "C" {
pub fn __sqrtl(__x: u128) -> u128;
}
extern "C" {
pub fn hypotl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __hypotl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn cbrtl(__x: u128) -> u128;
}
extern "C" {
pub fn __cbrtl(__x: u128) -> u128;
}
extern "C" {
pub fn ceill(__x: u128) -> u128;
}
extern "C" {
pub fn __ceill(__x: u128) -> u128;
}
extern "C" {
pub fn fabsl(__x: u128) -> u128;
}
extern "C" {
pub fn __fabsl(__x: u128) -> u128;
}
extern "C" {
pub fn floorl(__x: u128) -> u128;
}
extern "C" {
pub fn __floorl(__x: u128) -> u128;
}
extern "C" {
pub fn fmodl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fmodl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dreml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __dreml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn significandl(__x: u128) -> u128;
}
extern "C" {
pub fn __significandl(__x: u128) -> u128;
}
extern "C" {
pub fn copysignl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __copysignl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
}
extern "C" {
pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
}
extern "C" {
pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn j0l(arg1: u128) -> u128;
}
extern "C" {
pub fn __j0l(arg1: u128) -> u128;
}
extern "C" {
pub fn j1l(arg1: u128) -> u128;
}
extern "C" {
pub fn __j1l(arg1: u128) -> u128;
}
extern "C" {
pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn y0l(arg1: u128) -> u128;
}
extern "C" {
pub fn __y0l(arg1: u128) -> u128;
}
extern "C" {
pub fn y1l(arg1: u128) -> u128;
}
extern "C" {
pub fn __y1l(arg1: u128) -> u128;
}
extern "C" {
pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
}
extern "C" {
pub fn erfl(arg1: u128) -> u128;
}
extern "C" {
pub fn __erfl(arg1: u128) -> u128;
}
extern "C" {
pub fn erfcl(arg1: u128) -> u128;
}
extern "C" {
pub fn __erfcl(arg1: u128) -> u128;
}
extern "C" {
pub fn lgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __lgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn tgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __tgammal(arg1: u128) -> u128;
}
extern "C" {
pub fn gammal(arg1: u128) -> u128;
}
extern "C" {
pub fn __gammal(arg1: u128) -> u128;
}
extern "C" {
pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn rintl(__x: u128) -> u128;
}
extern "C" {
pub fn __rintl(__x: u128) -> u128;
}
extern "C" {
pub fn nextafterl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __nextafterl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn nexttowardl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn remainderl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __remainderl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
}
extern "C" {
pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
}
extern "C" {
pub fn nearbyintl(__x: u128) -> u128;
}
extern "C" {
pub fn __nearbyintl(__x: u128) -> u128;
}
extern "C" {
pub fn roundl(__x: u128) -> u128;
}
extern "C" {
pub fn __roundl(__x: u128) -> u128;
}
extern "C" {
pub fn truncl(__x: u128) -> u128;
}
extern "C" {
pub fn __truncl(__x: u128) -> u128;
}
extern "C" {
pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
}
extern "C" {
pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fdiml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fdiml(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fmaxl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fmaxl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fminl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn __fminl(__x: u128, __y: u128) -> u128;
}
extern "C" {
pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
}
extern "C" {
pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
}
extern "C" {
pub fn scalbl(__x: u128, __n: u128) -> u128;
}
extern "C" {
pub fn __scalbl(__x: u128, __n: u128) -> u128;
}
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;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _N_VectorContent_OpenMP {
pub length: sunindextype,
pub own_data: ::std::os::raw::c_int,
pub data: *mut sunrealtype,
pub num_threads: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__N_VectorContent_OpenMP() {
const UNINIT: ::std::mem::MaybeUninit<_N_VectorContent_OpenMP> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_N_VectorContent_OpenMP>(),
32usize,
concat!("Size of: ", stringify!(_N_VectorContent_OpenMP))
);
assert_eq!(
::std::mem::align_of::<_N_VectorContent_OpenMP>(),
8usize,
concat!("Alignment of ", stringify!(_N_VectorContent_OpenMP))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_N_VectorContent_OpenMP),
"::",
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_OpenMP),
"::",
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_OpenMP),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_threads) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_N_VectorContent_OpenMP),
"::",
stringify!(num_threads)
)
);
}
pub type N_VectorContent_OpenMP = *mut _N_VectorContent_OpenMP;
extern "C" {
pub fn N_VNew_OpenMP(
vec_length: sunindextype,
num_threads: ::std::os::raw::c_int,
sunctx: SUNContext,
) -> N_Vector;
}
extern "C" {
pub fn N_VNewEmpty_OpenMP(
vec_length: sunindextype,
num_threads: ::std::os::raw::c_int,
sunctx: SUNContext,
) -> N_Vector;
}
extern "C" {
pub fn N_VMake_OpenMP(
vec_length: sunindextype,
v_data: *mut sunrealtype,
num_threads: ::std::os::raw::c_int,
sunctx: SUNContext,
) -> N_Vector;
}
extern "C" {
pub fn N_VGetLength_OpenMP(v: N_Vector) -> sunindextype;
}
extern "C" {
pub fn N_VPrint_OpenMP(v: N_Vector);
}
extern "C" {
pub fn N_VPrintFile_OpenMP(v: N_Vector, outfile: *mut FILE);
}
extern "C" {
pub fn N_VGetVectorID_OpenMP(v: N_Vector) -> N_Vector_ID;
}
extern "C" {
pub fn N_VCloneEmpty_OpenMP(w: N_Vector) -> N_Vector;
}
extern "C" {
pub fn N_VClone_OpenMP(w: N_Vector) -> N_Vector;
}
extern "C" {
pub fn N_VDestroy_OpenMP(v: N_Vector);
}
extern "C" {
pub fn N_VSpace_OpenMP(v: N_Vector, lrw: *mut sunindextype, liw: *mut sunindextype);
}
extern "C" {
pub fn N_VGetArrayPointer_OpenMP(v: N_Vector) -> *mut sunrealtype;
}
extern "C" {
pub fn N_VSetArrayPointer_OpenMP(v_data: *mut sunrealtype, v: N_Vector);
}
extern "C" {
pub fn N_VLinearSum_OpenMP(
a: sunrealtype,
x: N_Vector,
b: sunrealtype,
y: N_Vector,
z: N_Vector,
);
}
extern "C" {
pub fn N_VConst_OpenMP(c: sunrealtype, z: N_Vector);
}
extern "C" {
pub fn N_VProd_OpenMP(x: N_Vector, y: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VDiv_OpenMP(x: N_Vector, y: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VScale_OpenMP(c: sunrealtype, x: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VAbs_OpenMP(x: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VInv_OpenMP(x: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VAddConst_OpenMP(x: N_Vector, b: sunrealtype, z: N_Vector);
}
extern "C" {
pub fn N_VDotProd_OpenMP(x: N_Vector, y: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VMaxNorm_OpenMP(x: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VWrmsNorm_OpenMP(x: N_Vector, w: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VWrmsNormMask_OpenMP(x: N_Vector, w: N_Vector, id: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VMin_OpenMP(x: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VWL2Norm_OpenMP(x: N_Vector, w: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VL1Norm_OpenMP(x: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VCompare_OpenMP(c: sunrealtype, x: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VInvTest_OpenMP(x: N_Vector, z: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VConstrMask_OpenMP(c: N_Vector, x: N_Vector, m: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VMinQuotient_OpenMP(num: N_Vector, denom: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VLinearCombination_OpenMP(
nvec: ::std::os::raw::c_int,
c: *mut sunrealtype,
V: *mut N_Vector,
z: N_Vector,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VScaleAddMulti_OpenMP(
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_OpenMP(
nvec: ::std::os::raw::c_int,
x: N_Vector,
Y: *mut N_Vector,
dotprods: *mut sunrealtype,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VLinearSumVectorArray_OpenMP(
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_OpenMP(
nvec: ::std::os::raw::c_int,
c: *mut sunrealtype,
X: *mut N_Vector,
Z: *mut N_Vector,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VConstVectorArray_OpenMP(
nvecs: ::std::os::raw::c_int,
c: sunrealtype,
Z: *mut N_Vector,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VWrmsNormVectorArray_OpenMP(
nvecs: ::std::os::raw::c_int,
X: *mut N_Vector,
W: *mut N_Vector,
nrm: *mut sunrealtype,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VWrmsNormMaskVectorArray_OpenMP(
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_OpenMP(
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_OpenMP(
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_OpenMP(x: N_Vector, w: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VWSqrSumMaskLocal_OpenMP(x: N_Vector, w: N_Vector, id: N_Vector) -> sunrealtype;
}
extern "C" {
pub fn N_VBufSize_OpenMP(x: N_Vector, size: *mut sunindextype) -> SUNErrCode;
}
extern "C" {
pub fn N_VBufPack_OpenMP(x: N_Vector, buf: *mut ::std::os::raw::c_void) -> SUNErrCode;
}
extern "C" {
pub fn N_VBufUnpack_OpenMP(x: N_Vector, buf: *mut ::std::os::raw::c_void) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableFusedOps_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableLinearCombination_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableScaleAddMulti_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableDotProdMulti_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableLinearSumVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableScaleVectorArray_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableConstVectorArray_OpenMP(v: N_Vector, tf: ::std::os::raw::c_int) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableWrmsNormVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableWrmsNormMaskVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableScaleAddMultiVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> SUNErrCode;
}
extern "C" {
pub fn N_VEnableLinearCombinationVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> 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 CVLsJacFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
JB: SUNMatrix,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVLsJacFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
JB: SUNMatrix,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSetupFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
jokB: ::std::os::raw::c_int,
jcurPtrB: *mut ::std::os::raw::c_int,
gammaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
jokB: ::std::os::raw::c_int,
jcurPtrB: *mut ::std::os::raw::c_int,
gammaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSolveFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
rB: N_Vector,
zB: N_Vector,
gammaB: sunrealtype,
deltaB: sunrealtype,
lrB: ::std::os::raw::c_int,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSolveFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
rB: N_Vector,
zB: N_Vector,
gammaB: sunrealtype,
deltaB: sunrealtype,
lrB: ::std::os::raw::c_int,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsJacTimesSetupFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
jac_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsJacTimesSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
jac_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsJacTimesVecFnB = ::std::option::Option<
unsafe extern "C" fn(
vB: N_Vector,
JvB: N_Vector,
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
jac_dataB: *mut ::std::os::raw::c_void,
tmpB: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVLsJacTimesVecFnBS = ::std::option::Option<
unsafe extern "C" fn(
vB: N_Vector,
JvB: N_Vector,
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
jac_dataB: *mut ::std::os::raw::c_void,
tmpB: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVLsLinSysFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
AB: SUNMatrix,
jokB: ::std::os::raw::c_int,
jcurB: *mut ::std::os::raw::c_int,
gammaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVLsLinSysFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
AB: SUNMatrix,
jokB: ::std::os::raw::c_int,
jcurB: *mut ::std::os::raw::c_int,
gammaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn CVodeSetLinearSolverB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
LS: SUNLinearSolver,
A: SUNMatrix,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetJacFnB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jacB: CVLsJacFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetJacFnBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jacBS: CVLsJacFnBS,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEpsLinB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
eplifacB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetLSNormFactorB(
arkode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
nrmfacB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetLinearSolutionScalingB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
onoffB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetPreconditionerB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
psetB: CVLsPrecSetupFnB,
psolveB: CVLsPrecSolveFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetPreconditionerBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
psetBS: CVLsPrecSetupFnBS,
psolveBS: CVLsPrecSolveFnBS,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetJacTimesB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtsetupB: CVLsJacTimesSetupFnB,
jtimesB: CVLsJacTimesVecFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetJacTimesBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtsetupBS: CVLsJacTimesSetupFnBS,
jtimesBS: CVLsJacTimesVecFnBS,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetLinSysFnB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
linsys: CVLsLinSysFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetLinSysFnBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
linsys: CVLsLinSysFnBS,
) -> ::std::os::raw::c_int;
}
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,
>;
pub type CVQuadRhsFn = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yQdot: N_Vector,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVSensRhsFn = ::std::option::Option<
unsafe extern "C" fn(
Ns: ::std::os::raw::c_int,
t: sunrealtype,
y: N_Vector,
ydot: N_Vector,
yS: *mut N_Vector,
ySdot: *mut N_Vector,
user_data: *mut ::std::os::raw::c_void,
tmp1: N_Vector,
tmp2: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVSensRhs1Fn = ::std::option::Option<
unsafe extern "C" fn(
Ns: ::std::os::raw::c_int,
t: sunrealtype,
y: N_Vector,
ydot: N_Vector,
iS: ::std::os::raw::c_int,
yS: N_Vector,
ySdot: N_Vector,
user_data: *mut ::std::os::raw::c_void,
tmp1: N_Vector,
tmp2: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVQuadSensRhsFn = ::std::option::Option<
unsafe extern "C" fn(
Ns: ::std::os::raw::c_int,
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yQdot: N_Vector,
yQSdot: *mut N_Vector,
user_data: *mut ::std::os::raw::c_void,
tmp: N_Vector,
tmpQ: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type CVRhsFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
yBdot: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVRhsFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
yBdot: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVQuadRhsFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yB: N_Vector,
qBdot: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVQuadRhsFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
qBdot: N_Vector,
user_dataB: *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 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 CVodeComputeStateSens(
cvode_mem: *mut ::std::os::raw::c_void,
yScor: *mut N_Vector,
yS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeComputeStateSens1(
cvode_mem: *mut ::std::os::raw::c_void,
idx: ::std::os::raw::c_int,
yScor1: N_Vector,
yS1: 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 CVodeGetCurrentStateSens(
cvode_mem: *mut ::std::os::raw::c_void,
yS: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetCurrentSensSolveIndex(
cvode_mem: *mut ::std::os::raw::c_void,
index: *mut ::std::os::raw::c_int,
) -> ::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 CVodeGetNonlinearSystemDataSens(
cvode_mem: *mut ::std::os::raw::c_void,
tcur: *mut sunrealtype,
ySpred: *mut *mut N_Vector,
ySn: *mut *mut N_Vector,
gamma: *mut sunrealtype,
rl1: *mut sunrealtype,
zn1: *mut *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;
}
extern "C" {
pub fn CVodeQuadInit(
cvode_mem: *mut ::std::os::raw::c_void,
fQ: CVQuadRhsFn,
yQ0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadReInit(
cvode_mem: *mut ::std::os::raw::c_void,
yQ0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSStolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQ: sunrealtype,
abstolQ: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQ: sunrealtype,
abstolQ: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetQuadErrCon(
cvode_mem: *mut ::std::os::raw::c_void,
errconQ: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuad(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
yQout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadDky(
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 CVodeGetQuadNumRhsEvals(
cvode_mem: *mut ::std::os::raw::c_void,
nfQevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadNumErrTestFails(
cvode_mem: *mut ::std::os::raw::c_void,
nQetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadErrWeights(
cvode_mem: *mut ::std::os::raw::c_void,
eQweight: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadStats(
cvode_mem: *mut ::std::os::raw::c_void,
nfQevals: *mut ::std::os::raw::c_long,
nQetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadFree(cvode_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn CVodeSensInit(
cvode_mem: *mut ::std::os::raw::c_void,
Ns: ::std::os::raw::c_int,
ism: ::std::os::raw::c_int,
fS: CVSensRhsFn,
yS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensInit1(
cvode_mem: *mut ::std::os::raw::c_void,
Ns: ::std::os::raw::c_int,
ism: ::std::os::raw::c_int,
fS1: CVSensRhs1Fn,
yS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensReInit(
cvode_mem: *mut ::std::os::raw::c_void,
ism: ::std::os::raw::c_int,
yS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensSStolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolS: sunrealtype,
abstolS: *mut sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolS: sunrealtype,
abstolS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensEEtolerances(cvode_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetSensDQMethod(
cvode_mem: *mut ::std::os::raw::c_void,
DQtype: ::std::os::raw::c_int,
DQrhomax: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetSensErrCon(
cvode_mem: *mut ::std::os::raw::c_void,
errconS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetSensMaxNonlinIters(
cvode_mem: *mut ::std::os::raw::c_void,
maxcorS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetSensParams(
cvode_mem: *mut ::std::os::raw::c_void,
p: *mut sunrealtype,
pbar: *mut sunrealtype,
plist: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetNonlinearSolverSensSim(
cvode_mem: *mut ::std::os::raw::c_void,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetNonlinearSolverSensStg(
cvode_mem: *mut ::std::os::raw::c_void,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetNonlinearSolverSensStg1(
cvode_mem: *mut ::std::os::raw::c_void,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensToggleOff(cvode_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSens(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
ySout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSens1(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
is: ::std::os::raw::c_int,
ySout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensDky(
cvode_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
dkyA: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensDky1(
cvode_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
is: ::std::os::raw::c_int,
dky: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNumRhsEvals(
cvode_mem: *mut ::std::os::raw::c_void,
nfSevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetNumRhsEvalsSens(
cvode_mem: *mut ::std::os::raw::c_void,
nfevalsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNumErrTestFails(
cvode_mem: *mut ::std::os::raw::c_void,
nSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNumLinSolvSetups(
cvode_mem: *mut ::std::os::raw::c_void,
nlinsetupsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensErrWeights(
cvode_mem: *mut ::std::os::raw::c_void,
eSweight: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensStats(
cvode_mem: *mut ::std::os::raw::c_void,
nfSevals: *mut ::std::os::raw::c_long,
nfevalsS: *mut ::std::os::raw::c_long,
nSetfails: *mut ::std::os::raw::c_long,
nlinsetupsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNumNonlinSolvIters(
cvode_mem: *mut ::std::os::raw::c_void,
nSniters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNumNonlinSolvConvFails(
cvode_mem: *mut ::std::os::raw::c_void,
nSnfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSensNonlinSolvStats(
cvode_mem: *mut ::std::os::raw::c_void,
nSniters: *mut ::std::os::raw::c_long,
nSnfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetNumStepSensSolveFails(
cvode_mem: *mut ::std::os::raw::c_void,
nSncfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetStgrSensNumNonlinSolvIters(
cvode_mem: *mut ::std::os::raw::c_void,
nSTGR1niters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetStgrSensNumNonlinSolvConvFails(
cvode_mem: *mut ::std::os::raw::c_void,
nSTGR1nfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetStgrSensNonlinSolvStats(
cvode_mem: *mut ::std::os::raw::c_void,
nSTGR1niters: *mut ::std::os::raw::c_long,
nSTGR1nfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetNumStepStgrSensSolveFails(
cvode_mem: *mut ::std::os::raw::c_void,
nSTGR1ncfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensFree(cvode_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn CVodeQuadSensInit(
cvode_mem: *mut ::std::os::raw::c_void,
fQS: CVQuadSensRhsFn,
yQS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensReInit(
cvode_mem: *mut ::std::os::raw::c_void,
yQS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensSStolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQS: sunrealtype,
abstolQS: *mut sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQS: sunrealtype,
abstolQS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensEEtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetQuadSensErrCon(
cvode_mem: *mut ::std::os::raw::c_void,
errconQS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSens(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
yQSout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSens1(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
is: ::std::os::raw::c_int,
yQSout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensDky(
cvode_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
dkyQS_all: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensDky1(
cvode_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
is: ::std::os::raw::c_int,
dkyQS: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensNumRhsEvals(
cvode_mem: *mut ::std::os::raw::c_void,
nfQSevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensNumErrTestFails(
cvode_mem: *mut ::std::os::raw::c_void,
nQSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensErrWeights(
cvode_mem: *mut ::std::os::raw::c_void,
eQSweight: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSensStats(
cvode_mem: *mut ::std::os::raw::c_void,
nfQSevals: *mut ::std::os::raw::c_long,
nQSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensFree(cvode_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn CVodeAdjInit(
cvode_mem: *mut ::std::os::raw::c_void,
steps: ::std::os::raw::c_long,
interp: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeAdjReInit(cvode_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeAdjFree(cvode_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn CVodeCreateB(
cvode_mem: *mut ::std::os::raw::c_void,
lmmB: ::std::os::raw::c_int,
which: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeInitB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
fB: CVRhsFnB,
tB0: sunrealtype,
yB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeInitBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
fBs: CVRhsFnBS,
tB0: sunrealtype,
yB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeReInitB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tB0: sunrealtype,
yB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSStolerancesB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolB: sunrealtype,
abstolB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSVtolerancesB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolB: sunrealtype,
abstolB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadInitB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
fQB: CVQuadRhsFnB,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadInitBS(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
fQBs: CVQuadRhsFnBS,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadReInitB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSStolerancesB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolQB: sunrealtype,
abstolQB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSVtolerancesB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolQB: sunrealtype,
abstolQB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeF(
cvode_mem: *mut ::std::os::raw::c_void,
tout: sunrealtype,
yout: N_Vector,
tret: *mut sunrealtype,
itask: ::std::os::raw::c_int,
ncheckPtr: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeB(
cvode_mem: *mut ::std::os::raw::c_void,
tBout: sunrealtype,
itaskB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetAdjNoSensi(cvode_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetUserDataB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetMaxOrdB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
maxordB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetMaxNumStepsB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
mxstepsB: ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetStabLimDetB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
stldetB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetInitStepB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
hinB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetMinStepB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
hminB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetMaxStepB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
hmaxB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetConstraintsB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
constraintsB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetQuadErrConB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
errconQB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetNonlinearSolverB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tBret: *mut sunrealtype,
yB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tBret: *mut sunrealtype,
qB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetAdjCVodeBmem(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn CVodeGetAdjY(
cvode_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
y: N_Vector,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CVadjCheckPointRec {
pub my_addr: *mut ::std::os::raw::c_void,
pub next_addr: *mut ::std::os::raw::c_void,
pub t0: sunrealtype,
pub t1: sunrealtype,
pub nstep: ::std::os::raw::c_long,
pub order: ::std::os::raw::c_int,
pub step: sunrealtype,
}
#[test]
fn bindgen_test_layout_CVadjCheckPointRec() {
const UNINIT: ::std::mem::MaybeUninit<CVadjCheckPointRec> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<CVadjCheckPointRec>(),
56usize,
concat!("Size of: ", stringify!(CVadjCheckPointRec))
);
assert_eq!(
::std::mem::align_of::<CVadjCheckPointRec>(),
8usize,
concat!("Alignment of ", stringify!(CVadjCheckPointRec))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).my_addr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(my_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).next_addr) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(next_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t0) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(t0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(t1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nstep) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(nstep)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(step)
)
);
}
extern "C" {
pub fn CVodeGetAdjCheckPointsInfo(
cvode_mem: *mut ::std::os::raw::c_void,
ckpnt: *mut CVadjCheckPointRec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetJacTimesRhsFnB(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtimesRhsFn: CVRhsFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetAdjDataPointHermite(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
t: *mut sunrealtype,
y: N_Vector,
yd: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetAdjDataPointPolynomial(
cvode_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
t: *mut sunrealtype,
order: *mut ::std::os::raw::c_int,
y: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetAdjCurrentCheckPoint(
cvode_mem: *mut ::std::os::raw::c_void,
addr: *mut *mut ::std::os::raw::c_void,
) -> ::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 IDALsJacFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
c_jB: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
JacB: SUNMatrix,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacFnBS = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
c_jB: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
JacB: SUNMatrix,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
tmp3B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSetupFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSolveFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
rvecB: N_Vector,
zvecB: N_Vector,
c_jB: sunrealtype,
deltaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSolveFnBS = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
rvecB: N_Vector,
zvecB: N_Vector,
c_jB: sunrealtype,
deltaB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesSetupFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesVecFnB = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
vB: N_Vector,
JvB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesVecFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
vB: N_Vector,
JvB: N_Vector,
c_jB: sunrealtype,
user_dataB: *mut ::std::os::raw::c_void,
tmp1B: N_Vector,
tmp2B: N_Vector,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn IDASetLinearSolverB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
LS: SUNLinearSolver,
A: SUNMatrix,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetJacFnB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jacB: IDALsJacFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetJacFnBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jacBS: IDALsJacFnBS,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEpsLinB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
eplifacB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetLSNormFactorB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
nrmfacB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetLinearSolutionScalingB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
onoffB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetIncrementFactorB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
dqincfacB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetPreconditionerB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
psetB: IDALsPrecSetupFnB,
psolveB: IDALsPrecSolveFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetPreconditionerBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
psetBS: IDALsPrecSetupFnBS,
psolveBS: IDALsPrecSolveFnBS,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetJacTimesB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtsetupB: IDALsJacTimesSetupFnB,
jtimesB: IDALsJacTimesVecFnB,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetJacTimesBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtsetupBS: IDALsJacTimesSetupFnBS,
jtimesBS: IDALsJacTimesVecFnBS,
) -> ::std::os::raw::c_int;
}
pub type IDAQuadRhsFn = ::std::option::Option<
unsafe extern "C" fn(
tres: sunrealtype,
yy: N_Vector,
yp: N_Vector,
rrQ: N_Vector,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDASensResFn = ::std::option::Option<
unsafe extern "C" fn(
Ns: ::std::os::raw::c_int,
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
resval: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
resvalS: *mut N_Vector,
user_data: *mut ::std::os::raw::c_void,
tmp1: N_Vector,
tmp2: N_Vector,
tmp3: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type IDAQuadSensRhsFn = ::std::option::Option<
unsafe extern "C" fn(
Ns: ::std::os::raw::c_int,
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
rrQ: N_Vector,
rhsvalQS: *mut N_Vector,
user_data: *mut ::std::os::raw::c_void,
yytmp: N_Vector,
yptmp: N_Vector,
tmpQS: N_Vector,
) -> ::std::os::raw::c_int,
>;
pub type IDAResFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDAResFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrBS: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDAQuadRhsFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rhsvalBQ: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDAQuadRhsFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
yyS: *mut N_Vector,
ypS: *mut N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rhsvalBQS: N_Vector,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn IDAComputeYSens(
ida_mem: *mut ::std::os::raw::c_void,
ycor: *mut N_Vector,
yyS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAComputeYpSens(
ida_mem: *mut ::std::os::raw::c_void,
ycor: *mut N_Vector,
ypS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetCurrentYSens(
ida_mem: *mut ::std::os::raw::c_void,
yS: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetCurrentYpSens(
ida_mem: *mut ::std::os::raw::c_void,
ypS: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetNonlinearSystemDataSens(
ida_mem: *mut ::std::os::raw::c_void,
tcur: *mut sunrealtype,
yySpred: *mut *mut N_Vector,
ypSpred: *mut *mut N_Vector,
yySn: *mut *mut N_Vector,
ypSn: *mut *mut N_Vector,
cj: *mut sunrealtype,
user_data: *mut *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadInit(
ida_mem: *mut ::std::os::raw::c_void,
rhsQ: IDAQuadRhsFn,
yQ0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadReInit(
ida_mem: *mut ::std::os::raw::c_void,
yQ0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSStolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQ: sunrealtype,
abstolQ: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQ: sunrealtype,
abstolQ: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetQuadErrCon(
ida_mem: *mut ::std::os::raw::c_void,
errconQ: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuad(
ida_mem: *mut ::std::os::raw::c_void,
t: *mut sunrealtype,
yQout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadDky(
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 IDAGetQuadNumRhsEvals(
ida_mem: *mut ::std::os::raw::c_void,
nrhsQevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadNumErrTestFails(
ida_mem: *mut ::std::os::raw::c_void,
nQetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadErrWeights(
ida_mem: *mut ::std::os::raw::c_void,
eQweight: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadStats(
ida_mem: *mut ::std::os::raw::c_void,
nrhsQevals: *mut ::std::os::raw::c_long,
nQetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadFree(ida_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn IDASensInit(
ida_mem: *mut ::std::os::raw::c_void,
Ns: ::std::os::raw::c_int,
ism: ::std::os::raw::c_int,
resS: IDASensResFn,
yS0: *mut N_Vector,
ypS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensReInit(
ida_mem: *mut ::std::os::raw::c_void,
ism: ::std::os::raw::c_int,
yS0: *mut N_Vector,
ypS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensSStolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolS: sunrealtype,
abstolS: *mut sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolS: sunrealtype,
abstolS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensEEtolerances(ida_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensConsistentIC(
ida_mem: *mut ::std::os::raw::c_void,
yyS0: *mut N_Vector,
ypS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetSensDQMethod(
ida_mem: *mut ::std::os::raw::c_void,
DQtype: ::std::os::raw::c_int,
DQrhomax: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetSensErrCon(
ida_mem: *mut ::std::os::raw::c_void,
errconS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetSensMaxNonlinIters(
ida_mem: *mut ::std::os::raw::c_void,
maxcorS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetSensParams(
ida_mem: *mut ::std::os::raw::c_void,
p: *mut sunrealtype,
pbar: *mut sunrealtype,
plist: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetNonlinearSolverSensSim(
ida_mem: *mut ::std::os::raw::c_void,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetNonlinearSolverSensStg(
ida_mem: *mut ::std::os::raw::c_void,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensToggleOff(ida_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSens(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
yySout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSens1(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
is: ::std::os::raw::c_int,
yySret: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensDky(
ida_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
dkyS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensDky1(
ida_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
is: ::std::os::raw::c_int,
dkyS: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNumResEvals(
ida_mem: *mut ::std::os::raw::c_void,
nresSevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetNumResEvalsSens(
ida_mem: *mut ::std::os::raw::c_void,
nresevalsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNumErrTestFails(
ida_mem: *mut ::std::os::raw::c_void,
nSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNumLinSolvSetups(
ida_mem: *mut ::std::os::raw::c_void,
nlinsetupsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensErrWeights(
ida_mem: *mut ::std::os::raw::c_void,
eSweight: N_Vector_S,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensStats(
ida_mem: *mut ::std::os::raw::c_void,
nresSevals: *mut ::std::os::raw::c_long,
nresevalsS: *mut ::std::os::raw::c_long,
nSetfails: *mut ::std::os::raw::c_long,
nlinsetupsS: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNumNonlinSolvIters(
ida_mem: *mut ::std::os::raw::c_void,
nSniters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNumNonlinSolvConvFails(
ida_mem: *mut ::std::os::raw::c_void,
nSnfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSensNonlinSolvStats(
ida_mem: *mut ::std::os::raw::c_void,
nSniters: *mut ::std::os::raw::c_long,
nSnfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetNumStepSensSolveFails(
ida_mem: *mut ::std::os::raw::c_void,
nSncfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensFree(ida_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn IDAQuadSensInit(
ida_mem: *mut ::std::os::raw::c_void,
resQS: IDAQuadSensRhsFn,
yQS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensReInit(
ida_mem: *mut ::std::os::raw::c_void,
yQS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensSStolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQS: sunrealtype,
abstolQS: *mut sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQS: sunrealtype,
abstolQS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensEEtolerances(ida_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetQuadSensErrCon(
ida_mem: *mut ::std::os::raw::c_void,
errconQS: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSens(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
yyQSout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSens1(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut sunrealtype,
is: ::std::os::raw::c_int,
yyQSret: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensDky(
ida_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
dkyQS: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensDky1(
ida_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
k: ::std::os::raw::c_int,
is: ::std::os::raw::c_int,
dkyQS: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensNumRhsEvals(
ida_mem: *mut ::std::os::raw::c_void,
nrhsQSevals: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensNumErrTestFails(
ida_mem: *mut ::std::os::raw::c_void,
nQSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensErrWeights(
ida_mem: *mut ::std::os::raw::c_void,
eQSweight: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSensStats(
ida_mem: *mut ::std::os::raw::c_void,
nrhsQSevals: *mut ::std::os::raw::c_long,
nQSetfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensFree(ida_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn IDAAdjInit(
ida_mem: *mut ::std::os::raw::c_void,
steps: ::std::os::raw::c_long,
interp: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAAdjReInit(ida_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAAdjFree(ida_mem: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn IDACreateB(
ida_mem: *mut ::std::os::raw::c_void,
which: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAInitB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
resB: IDAResFnB,
tB0: sunrealtype,
yyB0: N_Vector,
ypB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAInitBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
resS: IDAResFnBS,
tB0: sunrealtype,
yyB0: N_Vector,
ypB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAReInitB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tB0: sunrealtype,
yyB0: N_Vector,
ypB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASStolerancesB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
relTolB: sunrealtype,
absTolB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASVtolerancesB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
relTolB: sunrealtype,
absTolB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadInitB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
rhsQB: IDAQuadRhsFnB,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadInitBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
rhsQS: IDAQuadRhsFnBS,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadReInitB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
yQB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSStolerancesB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolQB: sunrealtype,
abstolQB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSVtolerancesB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
reltolQB: sunrealtype,
abstolQB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDACalcICB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tout1: sunrealtype,
yy0: N_Vector,
yp0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDACalcICBS(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tout1: sunrealtype,
yy0: N_Vector,
yp0: N_Vector,
yyS0: *mut N_Vector,
ypS0: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASolveF(
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,
ncheckPtr: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASolveB(
ida_mem: *mut ::std::os::raw::c_void,
tBout: sunrealtype,
itaskB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAAdjSetNoSensi(ida_mem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetUserDataB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetMaxOrdB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
maxordB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetMaxNumStepsB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
mxstepsB: ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetInitStepB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
hinB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetMaxStepB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
hmaxB: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetSuppressAlgB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
suppressalgB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetIdB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
idB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetConstraintsB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
constraintsB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetQuadErrConB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
errconQB: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetNonlinearSolverB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
NLS: SUNNonlinearSolver,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tret: *mut sunrealtype,
yy: N_Vector,
yp: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
tret: *mut sunrealtype,
qB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetAdjIDABmem(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn IDAGetConsistentICB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
yyB0: N_Vector,
ypB0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetAdjY(
ida_mem: *mut ::std::os::raw::c_void,
t: sunrealtype,
yy: N_Vector,
yp: N_Vector,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IDAadjCheckPointRec {
pub my_addr: *mut ::std::os::raw::c_void,
pub next_addr: *mut ::std::os::raw::c_void,
pub t0: sunrealtype,
pub t1: sunrealtype,
pub nstep: ::std::os::raw::c_long,
pub order: ::std::os::raw::c_int,
pub step: sunrealtype,
}
#[test]
fn bindgen_test_layout_IDAadjCheckPointRec() {
const UNINIT: ::std::mem::MaybeUninit<IDAadjCheckPointRec> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<IDAadjCheckPointRec>(),
56usize,
concat!("Size of: ", stringify!(IDAadjCheckPointRec))
);
assert_eq!(
::std::mem::align_of::<IDAadjCheckPointRec>(),
8usize,
concat!("Alignment of ", stringify!(IDAadjCheckPointRec))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).my_addr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(my_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).next_addr) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(next_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t0) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(t0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(t1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nstep) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(nstep)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(step)
)
);
}
extern "C" {
pub fn IDAGetAdjCheckPointsInfo(
ida_mem: *mut ::std::os::raw::c_void,
ckpnt: *mut IDAadjCheckPointRec,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetJacTimesResFnB(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
jtimesResFn: IDAResFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetAdjDataPointHermite(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
t: *mut sunrealtype,
yy: N_Vector,
yd: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetAdjDataPointPolynomial(
ida_mem: *mut ::std::os::raw::c_void,
which: ::std::os::raw::c_int,
t: *mut sunrealtype,
order: *mut ::std::os::raw::c_int,
y: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetAdjCurrentCheckPoint(
ida_mem: *mut ::std::os::raw::c_void,
addr: *mut *mut ::std::os::raw::c_void,
) -> ::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;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SuiteSparse_config_struct {
pub malloc_func:
::std::option::Option<unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void>,
pub calloc_func: ::std::option::Option<
unsafe extern "C" fn(arg1: usize, arg2: usize) -> *mut ::std::os::raw::c_void,
>,
pub realloc_func: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: usize,
) -> *mut ::std::os::raw::c_void,
>,
pub free_func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
pub printf_func: ::std::option::Option<
unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int,
>,
pub hypot_func: ::std::option::Option<unsafe extern "C" fn(arg1: f64, arg2: f64) -> f64>,
pub divcomplex_func: ::std::option::Option<
unsafe extern "C" fn(
arg1: f64,
arg2: f64,
arg3: f64,
arg4: f64,
arg5: *mut f64,
arg6: *mut f64,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout_SuiteSparse_config_struct() {
const UNINIT: ::std::mem::MaybeUninit<SuiteSparse_config_struct> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SuiteSparse_config_struct>(),
56usize,
concat!("Size of: ", stringify!(SuiteSparse_config_struct))
);
assert_eq!(
::std::mem::align_of::<SuiteSparse_config_struct>(),
8usize,
concat!("Alignment of ", stringify!(SuiteSparse_config_struct))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).malloc_func) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(malloc_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).calloc_func) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(calloc_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).realloc_func) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(realloc_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).free_func) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(free_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).printf_func) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(printf_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hypot_func) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(hypot_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).divcomplex_func) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(SuiteSparse_config_struct),
"::",
stringify!(divcomplex_func)
)
);
}
extern "C" {
pub static mut SuiteSparse_config: SuiteSparse_config_struct;
}
extern "C" {
pub fn SuiteSparse_start();
}
extern "C" {
pub fn SuiteSparse_finish();
}
extern "C" {
pub fn SuiteSparse_malloc(nitems: usize, size_of_item: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn SuiteSparse_calloc(nitems: usize, size_of_item: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn SuiteSparse_realloc(
nitems_new: usize,
nitems_old: usize,
size_of_item: usize,
p: *mut ::std::os::raw::c_void,
ok: *mut ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn SuiteSparse_free(p: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn SuiteSparse_tic(tic: *mut f64);
}
extern "C" {
pub fn SuiteSparse_toc(tic: *mut f64) -> f64;
}
extern "C" {
pub fn SuiteSparse_time() -> f64;
}
extern "C" {
pub fn SuiteSparse_hypot(x: f64, y: f64) -> f64;
}
extern "C" {
pub fn SuiteSparse_divcomplex(
ar: f64,
ai: f64,
br: f64,
bi: f64,
cr: *mut f64,
ci: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SuiteSparse_version(version: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn amd_order(
n: ::std::os::raw::c_int,
Ap: *const ::std::os::raw::c_int,
Ai: *const ::std::os::raw::c_int,
P: *mut ::std::os::raw::c_int,
Control: *mut f64,
Info: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn amd_l_order(
n: ::std::os::raw::c_long,
Ap: *const ::std::os::raw::c_long,
Ai: *const ::std::os::raw::c_long,
P: *mut ::std::os::raw::c_long,
Control: *mut f64,
Info: *mut f64,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn amd_2(
n: ::std::os::raw::c_int,
Pe: *mut ::std::os::raw::c_int,
Iw: *mut ::std::os::raw::c_int,
Len: *mut ::std::os::raw::c_int,
iwlen: ::std::os::raw::c_int,
pfree: ::std::os::raw::c_int,
Nv: *mut ::std::os::raw::c_int,
Next: *mut ::std::os::raw::c_int,
Last: *mut ::std::os::raw::c_int,
Head: *mut ::std::os::raw::c_int,
Elen: *mut ::std::os::raw::c_int,
Degree: *mut ::std::os::raw::c_int,
W: *mut ::std::os::raw::c_int,
Control: *mut f64,
Info: *mut f64,
);
}
extern "C" {
pub fn amd_l2(
n: ::std::os::raw::c_long,
Pe: *mut ::std::os::raw::c_long,
Iw: *mut ::std::os::raw::c_long,
Len: *mut ::std::os::raw::c_long,
iwlen: ::std::os::raw::c_long,
pfree: ::std::os::raw::c_long,
Nv: *mut ::std::os::raw::c_long,
Next: *mut ::std::os::raw::c_long,
Last: *mut ::std::os::raw::c_long,
Head: *mut ::std::os::raw::c_long,
Elen: *mut ::std::os::raw::c_long,
Degree: *mut ::std::os::raw::c_long,
W: *mut ::std::os::raw::c_long,
Control: *mut f64,
Info: *mut f64,
);
}
extern "C" {
pub fn amd_valid(
n_row: ::std::os::raw::c_int,
n_col: ::std::os::raw::c_int,
Ap: *const ::std::os::raw::c_int,
Ai: *const ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn amd_l_valid(
n_row: ::std::os::raw::c_long,
n_col: ::std::os::raw::c_long,
Ap: *const ::std::os::raw::c_long,
Ai: *const ::std::os::raw::c_long,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn amd_defaults(Control: *mut f64);
}
extern "C" {
pub fn amd_l_defaults(Control: *mut f64);
}
extern "C" {
pub fn amd_control(Control: *mut f64);
}
extern "C" {
pub fn amd_l_control(Control: *mut f64);
}
extern "C" {
pub fn amd_info(Info: *mut f64);
}
extern "C" {
pub fn amd_l_info(Info: *mut f64);
}
extern "C" {
pub fn colamd_recommended(
nnz: ::std::os::raw::c_int,
n_row: ::std::os::raw::c_int,
n_col: ::std::os::raw::c_int,
) -> usize;
}
extern "C" {
pub fn colamd_l_recommended(
nnz: ::std::os::raw::c_long,
n_row: ::std::os::raw::c_long,
n_col: ::std::os::raw::c_long,
) -> usize;
}
extern "C" {
pub fn colamd_set_defaults(knobs: *mut f64);
}
extern "C" {
pub fn colamd_l_set_defaults(knobs: *mut f64);
}
extern "C" {
pub fn colamd(
n_row: ::std::os::raw::c_int,
n_col: ::std::os::raw::c_int,
Alen: ::std::os::raw::c_int,
A: *mut ::std::os::raw::c_int,
p: *mut ::std::os::raw::c_int,
knobs: *mut f64,
stats: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn colamd_l(
n_row: ::std::os::raw::c_long,
n_col: ::std::os::raw::c_long,
Alen: ::std::os::raw::c_long,
A: *mut ::std::os::raw::c_long,
p: *mut ::std::os::raw::c_long,
knobs: *mut f64,
stats: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn symamd(
n: ::std::os::raw::c_int,
A: *mut ::std::os::raw::c_int,
p: *mut ::std::os::raw::c_int,
perm: *mut ::std::os::raw::c_int,
knobs: *mut f64,
stats: *mut ::std::os::raw::c_int,
allocate: ::std::option::Option<
unsafe extern "C" fn(arg1: usize, arg2: usize) -> *mut ::std::os::raw::c_void,
>,
release: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn symamd_l(
n: ::std::os::raw::c_long,
A: *mut ::std::os::raw::c_long,
p: *mut ::std::os::raw::c_long,
perm: *mut ::std::os::raw::c_long,
knobs: *mut f64,
stats: *mut ::std::os::raw::c_long,
allocate: ::std::option::Option<
unsafe extern "C" fn(arg1: usize, arg2: usize) -> *mut ::std::os::raw::c_void,
>,
release: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn colamd_report(stats: *mut ::std::os::raw::c_int);
}
extern "C" {
pub fn colamd_l_report(stats: *mut ::std::os::raw::c_long);
}
extern "C" {
pub fn symamd_report(stats: *mut ::std::os::raw::c_int);
}
extern "C" {
pub fn symamd_l_report(stats: *mut ::std::os::raw::c_long);
}
extern "C" {
pub fn btf_maxtrans(
nrow: ::std::os::raw::c_int,
ncol: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
maxwork: f64,
work: *mut f64,
Match: *mut ::std::os::raw::c_int,
Work: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_l_maxtrans(
arg1: ::std::os::raw::c_long,
arg2: ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: f64,
arg6: *mut f64,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn btf_strongcomp(
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Q: *mut ::std::os::raw::c_int,
P: *mut ::std::os::raw::c_int,
R: *mut ::std::os::raw::c_int,
Work: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_l_strongcomp(
arg1: ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut ::std::os::raw::c_long,
arg6: *mut ::std::os::raw::c_long,
arg7: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn btf_order(
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
maxwork: f64,
work: *mut f64,
P: *mut ::std::os::raw::c_int,
Q: *mut ::std::os::raw::c_int,
R: *mut ::std::os::raw::c_int,
nmatch: *mut ::std::os::raw::c_int,
Work: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_l_order(
arg1: ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: f64,
arg5: *mut f64,
arg6: *mut ::std::os::raw::c_long,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut ::std::os::raw::c_long,
arg9: *mut ::std::os::raw::c_long,
arg10: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_long;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_symbolic {
pub symmetry: f64,
pub est_flops: f64,
pub lnz: f64,
pub unz: f64,
pub Lnz: *mut f64,
pub n: ::std::os::raw::c_int,
pub nz: ::std::os::raw::c_int,
pub P: *mut ::std::os::raw::c_int,
pub Q: *mut ::std::os::raw::c_int,
pub R: *mut ::std::os::raw::c_int,
pub nzoff: ::std::os::raw::c_int,
pub nblocks: ::std::os::raw::c_int,
pub maxblock: ::std::os::raw::c_int,
pub ordering: ::std::os::raw::c_int,
pub do_btf: ::std::os::raw::c_int,
pub structural_rank: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_klu_symbolic() {
const UNINIT: ::std::mem::MaybeUninit<klu_symbolic> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_symbolic>(),
96usize,
concat!("Size of: ", stringify!(klu_symbolic))
);
assert_eq!(
::std::mem::align_of::<klu_symbolic>(),
8usize,
concat!("Alignment of ", stringify!(klu_symbolic))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).symmetry) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(symmetry)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).est_flops) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(est_flops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lnz) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unz) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(unz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Lnz) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(Lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nz) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(nz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(P)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Q) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(Q)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).R) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(R)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nzoff) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(nzoff)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nblocks) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(nblocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxblock) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(maxblock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ordering) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(ordering)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).do_btf) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(do_btf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).structural_rank) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(klu_symbolic),
"::",
stringify!(structural_rank)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_l_symbolic {
pub symmetry: f64,
pub est_flops: f64,
pub lnz: f64,
pub unz: f64,
pub Lnz: *mut f64,
pub n: ::std::os::raw::c_long,
pub nz: ::std::os::raw::c_long,
pub P: *mut ::std::os::raw::c_long,
pub Q: *mut ::std::os::raw::c_long,
pub R: *mut ::std::os::raw::c_long,
pub nzoff: ::std::os::raw::c_long,
pub nblocks: ::std::os::raw::c_long,
pub maxblock: ::std::os::raw::c_long,
pub ordering: ::std::os::raw::c_long,
pub do_btf: ::std::os::raw::c_long,
pub structural_rank: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_klu_l_symbolic() {
const UNINIT: ::std::mem::MaybeUninit<klu_l_symbolic> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_l_symbolic>(),
128usize,
concat!("Size of: ", stringify!(klu_l_symbolic))
);
assert_eq!(
::std::mem::align_of::<klu_l_symbolic>(),
8usize,
concat!("Alignment of ", stringify!(klu_l_symbolic))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).symmetry) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(symmetry)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).est_flops) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(est_flops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lnz) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unz) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(unz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Lnz) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(Lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nz) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(nz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(P)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Q) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(Q)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).R) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(R)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nzoff) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(nzoff)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nblocks) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(nblocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxblock) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(maxblock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ordering) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(ordering)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).do_btf) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(do_btf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).structural_rank) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(klu_l_symbolic),
"::",
stringify!(structural_rank)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_numeric {
pub n: ::std::os::raw::c_int,
pub nblocks: ::std::os::raw::c_int,
pub lnz: ::std::os::raw::c_int,
pub unz: ::std::os::raw::c_int,
pub max_lnz_block: ::std::os::raw::c_int,
pub max_unz_block: ::std::os::raw::c_int,
pub Pnum: *mut ::std::os::raw::c_int,
pub Pinv: *mut ::std::os::raw::c_int,
pub Lip: *mut ::std::os::raw::c_int,
pub Uip: *mut ::std::os::raw::c_int,
pub Llen: *mut ::std::os::raw::c_int,
pub Ulen: *mut ::std::os::raw::c_int,
pub LUbx: *mut *mut ::std::os::raw::c_void,
pub LUsize: *mut usize,
pub Udiag: *mut ::std::os::raw::c_void,
pub Rs: *mut f64,
pub worksize: usize,
pub Work: *mut ::std::os::raw::c_void,
pub Xwork: *mut ::std::os::raw::c_void,
pub Iwork: *mut ::std::os::raw::c_int,
pub Offp: *mut ::std::os::raw::c_int,
pub Offi: *mut ::std::os::raw::c_int,
pub Offx: *mut ::std::os::raw::c_void,
pub nzoff: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_klu_numeric() {
const UNINIT: ::std::mem::MaybeUninit<klu_numeric> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_numeric>(),
168usize,
concat!("Size of: ", stringify!(klu_numeric))
);
assert_eq!(
::std::mem::align_of::<klu_numeric>(),
8usize,
concat!("Alignment of ", stringify!(klu_numeric))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nblocks) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(nblocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lnz) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unz) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(unz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_lnz_block) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(max_lnz_block)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_unz_block) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(max_unz_block)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Pnum) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Pnum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Pinv) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Pinv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Lip) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Lip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Uip) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Uip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Llen) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Llen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Ulen) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Ulen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).LUbx) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(LUbx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).LUsize) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(LUsize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Udiag) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Udiag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Rs) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Rs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).worksize) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(worksize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Work) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Work)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Xwork) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Xwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Iwork) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Iwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offp) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Offp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offi) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Offi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offx) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(Offx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nzoff) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(klu_numeric),
"::",
stringify!(nzoff)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_l_numeric {
pub n: ::std::os::raw::c_long,
pub nblocks: ::std::os::raw::c_long,
pub lnz: ::std::os::raw::c_long,
pub unz: ::std::os::raw::c_long,
pub max_lnz_block: ::std::os::raw::c_long,
pub max_unz_block: ::std::os::raw::c_long,
pub Pnum: *mut ::std::os::raw::c_long,
pub Pinv: *mut ::std::os::raw::c_long,
pub Lip: *mut ::std::os::raw::c_long,
pub Uip: *mut ::std::os::raw::c_long,
pub Llen: *mut ::std::os::raw::c_long,
pub Ulen: *mut ::std::os::raw::c_long,
pub LUbx: *mut *mut ::std::os::raw::c_void,
pub LUsize: *mut usize,
pub Udiag: *mut ::std::os::raw::c_void,
pub Rs: *mut f64,
pub worksize: usize,
pub Work: *mut ::std::os::raw::c_void,
pub Xwork: *mut ::std::os::raw::c_void,
pub Iwork: *mut ::std::os::raw::c_long,
pub Offp: *mut ::std::os::raw::c_long,
pub Offi: *mut ::std::os::raw::c_long,
pub Offx: *mut ::std::os::raw::c_void,
pub nzoff: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_klu_l_numeric() {
const UNINIT: ::std::mem::MaybeUninit<klu_l_numeric> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_l_numeric>(),
192usize,
concat!("Size of: ", stringify!(klu_l_numeric))
);
assert_eq!(
::std::mem::align_of::<klu_l_numeric>(),
8usize,
concat!("Alignment of ", stringify!(klu_l_numeric))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nblocks) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(nblocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lnz) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(lnz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unz) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(unz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_lnz_block) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(max_lnz_block)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_unz_block) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(max_unz_block)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Pnum) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Pnum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Pinv) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Pinv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Lip) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Lip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Uip) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Uip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Llen) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Llen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Ulen) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Ulen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).LUbx) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(LUbx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).LUsize) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(LUsize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Udiag) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Udiag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Rs) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Rs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).worksize) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(worksize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Work) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Work)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Xwork) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Xwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Iwork) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Iwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offp) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Offp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offi) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Offi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Offx) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(Offx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nzoff) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(klu_l_numeric),
"::",
stringify!(nzoff)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_common_struct {
pub tol: f64,
pub memgrow: f64,
pub initmem_amd: f64,
pub initmem: f64,
pub maxwork: f64,
pub btf: ::std::os::raw::c_int,
pub ordering: ::std::os::raw::c_int,
pub scale: ::std::os::raw::c_int,
pub user_order: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: *mut ::std::os::raw::c_int,
arg3: *mut ::std::os::raw::c_int,
arg4: *mut ::std::os::raw::c_int,
arg5: *mut klu_common_struct,
) -> ::std::os::raw::c_int,
>,
pub user_data: *mut ::std::os::raw::c_void,
pub halt_if_singular: ::std::os::raw::c_int,
pub status: ::std::os::raw::c_int,
pub nrealloc: ::std::os::raw::c_int,
pub structural_rank: ::std::os::raw::c_int,
pub numerical_rank: ::std::os::raw::c_int,
pub singular_col: ::std::os::raw::c_int,
pub noffdiag: ::std::os::raw::c_int,
pub flops: f64,
pub rcond: f64,
pub condest: f64,
pub rgrowth: f64,
pub work: f64,
pub memusage: usize,
pub mempeak: usize,
}
#[test]
fn bindgen_test_layout_klu_common_struct() {
const UNINIT: ::std::mem::MaybeUninit<klu_common_struct> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_common_struct>(),
160usize,
concat!("Size of: ", stringify!(klu_common_struct))
);
assert_eq!(
::std::mem::align_of::<klu_common_struct>(),
8usize,
concat!("Alignment of ", stringify!(klu_common_struct))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tol) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(tol)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memgrow) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(memgrow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initmem_amd) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(initmem_amd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initmem) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(initmem)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxwork) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(maxwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).btf) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(btf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ordering) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(ordering)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(scale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_order) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(user_order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(user_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).halt_if_singular) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(halt_if_singular)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nrealloc) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(nrealloc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).structural_rank) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(structural_rank)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numerical_rank) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(numerical_rank)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).singular_col) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(singular_col)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).noffdiag) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(noffdiag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flops) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(flops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rcond) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(rcond)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).condest) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(condest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rgrowth) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(rgrowth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).work) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(work)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memusage) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(memusage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mempeak) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(klu_common_struct),
"::",
stringify!(mempeak)
)
);
}
pub type klu_common = klu_common_struct;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct klu_l_common_struct {
pub tol: f64,
pub memgrow: f64,
pub initmem_amd: f64,
pub initmem: f64,
pub maxwork: f64,
pub btf: ::std::os::raw::c_long,
pub ordering: ::std::os::raw::c_long,
pub scale: ::std::os::raw::c_long,
pub user_order: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut klu_l_common_struct,
) -> ::std::os::raw::c_long,
>,
pub user_data: *mut ::std::os::raw::c_void,
pub halt_if_singular: ::std::os::raw::c_long,
pub status: ::std::os::raw::c_long,
pub nrealloc: ::std::os::raw::c_long,
pub structural_rank: ::std::os::raw::c_long,
pub numerical_rank: ::std::os::raw::c_long,
pub singular_col: ::std::os::raw::c_long,
pub noffdiag: ::std::os::raw::c_long,
pub flops: f64,
pub rcond: f64,
pub condest: f64,
pub rgrowth: f64,
pub work: f64,
pub memusage: usize,
pub mempeak: usize,
}
#[test]
fn bindgen_test_layout_klu_l_common_struct() {
const UNINIT: ::std::mem::MaybeUninit<klu_l_common_struct> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<klu_l_common_struct>(),
192usize,
concat!("Size of: ", stringify!(klu_l_common_struct))
);
assert_eq!(
::std::mem::align_of::<klu_l_common_struct>(),
8usize,
concat!("Alignment of ", stringify!(klu_l_common_struct))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tol) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(tol)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memgrow) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(memgrow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initmem_amd) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(initmem_amd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initmem) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(initmem)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxwork) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(maxwork)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).btf) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(btf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ordering) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(ordering)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(scale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_order) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(user_order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(user_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).halt_if_singular) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(halt_if_singular)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nrealloc) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(nrealloc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).structural_rank) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(structural_rank)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numerical_rank) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(numerical_rank)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).singular_col) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(singular_col)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).noffdiag) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(noffdiag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flops) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(flops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rcond) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(rcond)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).condest) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(condest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rgrowth) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(rgrowth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).work) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(work)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memusage) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(memusage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mempeak) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(klu_l_common_struct),
"::",
stringify!(mempeak)
)
);
}
pub type klu_l_common = klu_l_common_struct;
extern "C" {
pub fn klu_defaults(Common: *mut klu_common) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_defaults(Common: *mut klu_l_common) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_analyze(
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> *mut klu_symbolic;
}
extern "C" {
pub fn klu_l_analyze(
arg1: ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
Common: *mut klu_l_common,
) -> *mut klu_l_symbolic;
}
extern "C" {
pub fn klu_analyze_given(
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
P: *mut ::std::os::raw::c_int,
Q: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> *mut klu_symbolic;
}
extern "C" {
pub fn klu_l_analyze_given(
arg1: ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut ::std::os::raw::c_long,
arg6: *mut klu_l_common,
) -> *mut klu_l_symbolic;
}
extern "C" {
pub fn klu_factor(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Common: *mut klu_common,
) -> *mut klu_numeric;
}
extern "C" {
pub fn klu_z_factor(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Common: *mut klu_common,
) -> *mut klu_numeric;
}
extern "C" {
pub fn klu_l_factor(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_common,
) -> *mut klu_l_numeric;
}
extern "C" {
pub fn klu_zl_factor(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_common,
) -> *mut klu_l_numeric;
}
extern "C" {
pub fn klu_solve(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
ldim: ::std::os::raw::c_int,
nrhs: ::std::os::raw::c_int,
B: *mut f64,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_solve(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
ldim: ::std::os::raw::c_int,
nrhs: ::std::os::raw::c_int,
B: *mut f64,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_solve(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: ::std::os::raw::c_long,
arg4: ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_solve(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: ::std::os::raw::c_long,
arg4: ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_tsolve(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
ldim: ::std::os::raw::c_int,
nrhs: ::std::os::raw::c_int,
B: *mut f64,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_tsolve(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
ldim: ::std::os::raw::c_int,
nrhs: ::std::os::raw::c_int,
B: *mut f64,
conj_solve: ::std::os::raw::c_int,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_tsolve(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: ::std::os::raw::c_long,
arg4: ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_tsolve(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: ::std::os::raw::c_long,
arg4: ::std::os::raw::c_long,
arg5: *mut f64,
arg6: ::std::os::raw::c_long,
arg7: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_refactor(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_refactor(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_refactor(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_numeric,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_refactor(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_numeric,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_free_symbolic(
Symbolic: *mut *mut klu_symbolic,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_free_symbolic(
arg1: *mut *mut klu_l_symbolic,
arg2: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_free_numeric(
Numeric: *mut *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_free_numeric(
Numeric: *mut *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_free_numeric(
arg1: *mut *mut klu_l_numeric,
arg2: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_free_numeric(
arg1: *mut *mut klu_l_numeric,
arg2: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_sort(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_sort(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_sort(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_sort(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_flops(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_flops(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_flops(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_flops(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_rgrowth(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_rgrowth(
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_rgrowth(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_numeric,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_rgrowth(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut ::std::os::raw::c_long,
arg3: *mut f64,
arg4: *mut klu_l_symbolic,
arg5: *mut klu_l_numeric,
arg6: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_condest(
Ap: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_condest(
Ap: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_condest(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut f64,
arg3: *mut klu_l_symbolic,
arg4: *mut klu_l_numeric,
arg5: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_condest(
arg1: *mut ::std::os::raw::c_long,
arg2: *mut f64,
arg3: *mut klu_l_symbolic,
arg4: *mut klu_l_numeric,
arg5: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_rcond(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_rcond(
Symbolic: *mut klu_symbolic,
Numeric: *mut klu_numeric,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_rcond(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_rcond(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_scale(
scale: ::std::os::raw::c_int,
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Rs: *mut f64,
W: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_scale(
scale: ::std::os::raw::c_int,
n: ::std::os::raw::c_int,
Ap: *mut ::std::os::raw::c_int,
Ai: *mut ::std::os::raw::c_int,
Ax: *mut f64,
Rs: *mut f64,
W: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_scale(
arg1: ::std::os::raw::c_long,
arg2: ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut f64,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_scale(
arg1: ::std::os::raw::c_long,
arg2: ::std::os::raw::c_long,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut f64,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_extract(
Numeric: *mut klu_numeric,
Symbolic: *mut klu_symbolic,
Lp: *mut ::std::os::raw::c_int,
Li: *mut ::std::os::raw::c_int,
Lx: *mut f64,
Up: *mut ::std::os::raw::c_int,
Ui: *mut ::std::os::raw::c_int,
Ux: *mut f64,
Fp: *mut ::std::os::raw::c_int,
Fi: *mut ::std::os::raw::c_int,
Fx: *mut f64,
P: *mut ::std::os::raw::c_int,
Q: *mut ::std::os::raw::c_int,
Rs: *mut f64,
R: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_z_extract(
Numeric: *mut klu_numeric,
Symbolic: *mut klu_symbolic,
Lp: *mut ::std::os::raw::c_int,
Li: *mut ::std::os::raw::c_int,
Lx: *mut f64,
Lz: *mut f64,
Up: *mut ::std::os::raw::c_int,
Ui: *mut ::std::os::raw::c_int,
Ux: *mut f64,
Uz: *mut f64,
Fp: *mut ::std::os::raw::c_int,
Fi: *mut ::std::os::raw::c_int,
Fx: *mut f64,
Fz: *mut f64,
P: *mut ::std::os::raw::c_int,
Q: *mut ::std::os::raw::c_int,
Rs: *mut f64,
R: *mut ::std::os::raw::c_int,
Common: *mut klu_common,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn klu_l_extract(
arg1: *mut klu_l_numeric,
arg2: *mut klu_l_symbolic,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut ::std::os::raw::c_long,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut f64,
arg9: *mut ::std::os::raw::c_long,
arg10: *mut ::std::os::raw::c_long,
arg11: *mut f64,
arg12: *mut ::std::os::raw::c_long,
arg13: *mut ::std::os::raw::c_long,
arg14: *mut f64,
arg15: *mut ::std::os::raw::c_long,
arg16: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_zl_extract(
arg1: *mut klu_l_numeric,
arg2: *mut klu_l_symbolic,
arg3: *mut ::std::os::raw::c_long,
arg4: *mut ::std::os::raw::c_long,
arg5: *mut f64,
arg6: *mut f64,
arg7: *mut ::std::os::raw::c_long,
arg8: *mut ::std::os::raw::c_long,
arg9: *mut f64,
arg10: *mut f64,
arg11: *mut ::std::os::raw::c_long,
arg12: *mut ::std::os::raw::c_long,
arg13: *mut f64,
arg14: *mut f64,
arg15: *mut ::std::os::raw::c_long,
arg16: *mut ::std::os::raw::c_long,
arg17: *mut f64,
arg18: *mut ::std::os::raw::c_long,
arg19: *mut klu_l_common,
) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn klu_malloc(
n: usize,
size: usize,
Common: *mut klu_common,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn klu_free(
p: *mut ::std::os::raw::c_void,
n: usize,
size: usize,
Common: *mut klu_common,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn klu_realloc(
nnew: usize,
nold: usize,
size: usize,
p: *mut ::std::os::raw::c_void,
Common: *mut klu_common,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn klu_l_malloc(
arg1: usize,
arg2: usize,
arg3: *mut klu_l_common,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn klu_l_free(
arg1: *mut ::std::os::raw::c_void,
arg2: usize,
arg3: usize,
arg4: *mut klu_l_common,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn klu_l_realloc(
arg1: usize,
arg2: usize,
arg3: usize,
arg4: *mut ::std::os::raw::c_void,
arg5: *mut klu_l_common,
) -> *mut ::std::os::raw::c_void;
}
pub type KLUSolveFn = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut klu_l_symbolic,
arg2: *mut klu_l_numeric,
arg3: sunindextype,
arg4: sunindextype,
arg5: *mut f64,
arg6: *mut klu_l_common,
) -> sunindextype,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _SUNLinearSolverContent_KLU {
pub last_flag: ::std::os::raw::c_int,
pub first_factorize: ::std::os::raw::c_int,
pub symbolic: *mut klu_l_symbolic,
pub numeric: *mut klu_l_numeric,
pub common: klu_l_common,
pub klu_solver: KLUSolveFn,
}
#[test]
fn bindgen_test_layout__SUNLinearSolverContent_KLU() {
const UNINIT: ::std::mem::MaybeUninit<_SUNLinearSolverContent_KLU> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_SUNLinearSolverContent_KLU>(),
224usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_KLU))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_KLU>(),
8usize,
concat!("Alignment of ", stringify!(_SUNLinearSolverContent_KLU))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).last_flag) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(last_flag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).first_factorize) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(first_factorize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).symbolic) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(symbolic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numeric) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(numeric)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).common) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(common)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).klu_solver) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_KLU),
"::",
stringify!(klu_solver)
)
);
}
pub type SUNLinearSolverContent_KLU = *mut _SUNLinearSolverContent_KLU;
extern "C" {
pub fn SUNLinSol_KLU(y: N_Vector, A: SUNMatrix, sunctx: SUNContext) -> SUNLinearSolver;
}
extern "C" {
pub fn SUNLinSol_KLUReInit(
S: SUNLinearSolver,
A: SUNMatrix,
nnz: sunindextype,
reinit_type: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_KLUSetOrdering(
S: SUNLinearSolver,
ordering_choice: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_KLUGetSymbolic(S: SUNLinearSolver) -> *mut klu_l_symbolic;
}
extern "C" {
pub fn SUNLinSol_KLUGetNumeric(S: SUNLinearSolver) -> *mut klu_l_numeric;
}
extern "C" {
pub fn SUNLinSol_KLUGetCommon(S: SUNLinearSolver) -> *mut klu_l_common;
}
extern "C" {
pub fn SUNLinSolGetType_KLU(S: SUNLinearSolver) -> SUNLinearSolver_Type;
}
extern "C" {
pub fn SUNLinSolGetID_KLU(S: SUNLinearSolver) -> SUNLinearSolver_ID;
}
extern "C" {
pub fn SUNLinSolInitialize_KLU(S: SUNLinearSolver) -> SUNErrCode;
}
extern "C" {
pub fn SUNLinSolSetup_KLU(S: SUNLinearSolver, A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSolve_KLU(
S: SUNLinearSolver,
A: SUNMatrix,
x: N_Vector,
b: N_Vector,
tol: sunrealtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolLastFlag_KLU(S: SUNLinearSolver) -> sunindextype;
}
extern "C" {
pub fn SUNLinSolSpace_KLU(
S: SUNLinearSolver,
lenrwLS: *mut ::std::os::raw::c_long,
leniwLS: *mut ::std::os::raw::c_long,
) -> SUNErrCode;
}
extern "C" {
pub fn SUNLinSolFree_KLU(S: SUNLinearSolver) -> SUNErrCode;
}
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)
)
);
}