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 = 32;
pub const __WORDSIZE32_SIZE_ULONG: u32 = 0;
pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0;
pub const __TIMESIZE: u32 = 32;
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 __RLIM_T_MATCHES_RLIM64_T: u32 = 0;
pub const __STATFS_MATCHES_STATFS64: u32 = 0;
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 0;
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 = 24;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 36;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 32;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 20;
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 = 0;
pub const __have_pthread_attr_t: u32 = 1;
pub const _ALLOCA_H: u32 = 1;
pub const SUNDIALS_VERSION: &[u8; 6] = b"6.7.0\0";
pub const SUNDIALS_VERSION_MAJOR: u32 = 6;
pub const SUNDIALS_VERSION_MINOR: u32 = 7;
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 = 0;
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; 60] =
b" -ffunction-sections -fdata-sections -fPIC -m32 -march=i686\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; 60] =
b" -ffunction-sections -fdata-sections -fPIC -m32 -march=i686\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"20231226133657\0";
pub const SUN_JOB_START_TIME: &[u8; 15] = b"20231226133657\0";
pub const SUN_TPL_LIST: &[u8; 15] = b"OPENMP;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_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: i32 = -2147483648;
pub const INT_FAST32_MIN: i32 = -2147483648;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u32 = 2147483647;
pub const INT_FAST32_MAX: u32 = 2147483647;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: u32 = 4294967295;
pub const UINT_FAST32_MAX: u32 = 4294967295;
pub const INTPTR_MIN: i32 = -2147483648;
pub const INTPTR_MAX: u32 = 2147483647;
pub const UINTPTR_MAX: u32 = 4294967295;
pub const PTRDIFF_MIN: i32 = -2147483648;
pub const PTRDIFF_MAX: u32 = 2147483647;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: u32 = 4294967295;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const SUNFALSE: u32 = 0;
pub const SUNTRUE: u32 = 1;
pub const SUNMAT_SUCCESS: u32 = 0;
pub const SUNMAT_ILL_INPUT: i32 = -701;
pub const SUNMAT_MEM_FAIL: i32 = -702;
pub const SUNMAT_OPERATION_FAIL: i32 = -703;
pub const SUNMAT_MATVEC_SETUP_REQUIRED: i32 = -704;
pub const SUNLS_SUCCESS: u32 = 0;
pub const SUNLS_MEM_NULL: i32 = -801;
pub const SUNLS_ILL_INPUT: i32 = -802;
pub const SUNLS_MEM_FAIL: i32 = -803;
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_PACKAGE_FAIL_UNREC: i32 = -809;
pub const SUNLS_GS_FAIL: i32 = -810;
pub const SUNLS_QRSOL_FAIL: i32 = -811;
pub const SUNLS_VECTOROP_ERR: i32 = -812;
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 SUNDIALS_DENSE: u32 = 1;
pub const SUNDIALS_BAND: u32 = 2;
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 SUN_NLS_SUCCESS: ::std::os::raw::c_int = 0;
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_MEM_NULL: ::std::os::raw::c_int = -901;
pub const SUN_NLS_MEM_FAIL: ::std::os::raw::c_int = -902;
pub const SUN_NLS_ILL_INPUT: ::std::os::raw::c_int = -903;
pub const SUN_NLS_VECTOROP_ERR: ::std::os::raw::c_int = -904;
pub const SUN_NLS_EXT_FAIL: ::std::os::raw::c_int = -905;
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_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 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_longlong;
pub type __uint64_t = ::std::os::raw::c_ulonglong;
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_longlong;
pub type __u_quad_t = ::std::os::raw::c_ulonglong;
pub type __intmax_t = ::std::os::raw::c_longlong;
pub type __uintmax_t = ::std::os::raw::c_ulonglong;
pub type __dev_t = __uint64_t;
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 = __uint64_t;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_uint;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = __int64_t;
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 = __uint64_t;
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 = __int64_t;
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 = __int64_t;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = __uint64_t;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = __uint64_t;
pub type __fsword_t = ::std::os::raw::c_int;
pub type __ssize_t = ::std::os::raw::c_int;
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_int;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type __time64_t = __int64_t;
#[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>(),
12usize,
concat!("Size of: ", stringify!(_G_fpos_t))
);
assert_eq!(
::std::mem::align_of::<_G_fpos_t>(),
4usize,
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 },
4usize,
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>(),
4usize,
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; 40usize],
}
#[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>(),
148usize,
concat!("Size of: ", stringify!(_IO_FILE))
);
assert_eq!(
::std::mem::align_of::<_IO_FILE>(),
4usize,
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 },
4usize,
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 },
8usize,
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 },
12usize,
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 },
16usize,
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 },
20usize,
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 },
24usize,
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 },
28usize,
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 },
32usize,
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 },
36usize,
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 },
40usize,
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 },
44usize,
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 },
48usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_markers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_chain)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_fileno)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
64usize,
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 },
68usize,
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 },
70usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_vtable_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
71usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_shortbuf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_lock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_codecvt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
88usize,
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 },
92usize,
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 },
96usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_buf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
108usize,
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: __builtin_va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vprintf(
__format: *const ::std::os::raw::c_char,
__arg: __builtin_va_list,
) -> ::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: __builtin_va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn snprintf(
__s: *mut ::std::os::raw::c_char,
__maxlen: ::std::os::raw::c_uint,
__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_uint,
__format: *const ::std::os::raw::c_char,
__arg: __builtin_va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vdprintf(
__fd: ::std::os::raw::c_int,
__fmt: *const ::std::os::raw::c_char,
__arg: __gnuc_va_list,
) -> ::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 = f64;
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: __builtin_va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vscanf(
__format: *const ::std::os::raw::c_char,
__arg: __builtin_va_list,
) -> ::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: __builtin_va_list,
) -> ::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: __builtin_va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vscanf"]
pub fn vscanf1(
__format: *const ::std::os::raw::c_char,
__arg: __builtin_va_list,
) -> ::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: __builtin_va_list,
) -> ::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_uint,
__n: ::std::os::raw::c_uint,
__stream: *mut FILE,
) -> ::std::os::raw::c_uint;
}
extern "C" {
pub fn fwrite(
__ptr: *const ::std::os::raw::c_void,
__size: ::std::os::raw::c_uint,
__n: ::std::os::raw::c_uint,
__s: *mut FILE,
) -> ::std::os::raw::c_uint;
}
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>(),
8usize,
concat!("Size of: ", stringify!(ldiv_t))
);
assert_eq!(
::std::mem::align_of::<ldiv_t>(),
4usize,
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 },
4usize,
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>(),
4usize,
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,
) -> f64;
}
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_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [::std::os::raw::c_ulong; 32usize],
}
#[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>(),
4usize,
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>(),
8usize,
concat!("Size of: ", stringify!(timeval))
);
assert_eq!(
::std::mem::align_of::<timeval>(),
4usize,
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 },
4usize,
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>(),
8usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::std::mem::align_of::<timespec>(),
4usize,
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 },
4usize,
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; 32usize],
}
#[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>(),
4usize,
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>(),
4usize,
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>(),
8usize,
concat!("Size of: ", stringify!(__pthread_internal_list))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_list>(),
4usize,
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 },
4usize,
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>(),
4usize,
concat!("Size of: ", stringify!(__pthread_internal_slist))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_slist>(),
4usize,
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(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 __kind: ::std::os::raw::c_int,
pub __nusers: ::std::os::raw::c_uint,
pub __bindgen_anon_1: __pthread_mutex_s__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_mutex_s__bindgen_ty_1 {
pub __elision_data: __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1,
pub __list: __pthread_slist_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s__bindgen_ty_1__bindgen_ty_1 {
pub __espins: ::std::os::raw::c_short,
pub __eelision: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Size of: ",
stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1>(),
2usize,
concat!(
"Alignment of ",
stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__espins) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__espins)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__eelision) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__eelision)
)
);
}
#[test]
fn bindgen_test_layout___pthread_mutex_s__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__pthread_mutex_s__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(__pthread_mutex_s__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__pthread_mutex_s__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(__pthread_mutex_s__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__elision_data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s__bindgen_ty_1),
"::",
stringify!(__elision_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s__bindgen_ty_1),
"::",
stringify!(__list)
)
);
}
#[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>(),
24usize,
concat!("Size of: ", stringify!(__pthread_mutex_s))
);
assert_eq!(
::std::mem::align_of::<__pthread_mutex_s>(),
4usize,
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).__kind) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__kind)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__nusers)
)
);
}
#[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 __flags: ::std::os::raw::c_uchar,
pub __shared: ::std::os::raw::c_uchar,
pub __rwelision: ::std::os::raw::c_schar,
pub __pad2: ::std::os::raw::c_uchar,
pub __cur_writer: ::std::os::raw::c_int,
}
#[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>(),
32usize,
concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
::std::mem::align_of::<__pthread_rwlock_arch_t>(),
4usize,
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).__flags) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
25usize,
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 },
26usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
27usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__cur_writer)
)
);
}
#[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>(),
4usize,
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; 36usize],
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>(),
36usize,
concat!("Size of: ", stringify!(pthread_attr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_attr_t>(),
4usize,
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; 24usize],
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>(),
24usize,
concat!("Size of: ", stringify!(pthread_mutex_t))
);
assert_eq!(
::std::mem::align_of::<pthread_mutex_t>(),
4usize,
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>(),
4usize,
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; 32usize],
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>(),
32usize,
concat!("Size of: ", stringify!(pthread_rwlock_t))
);
assert_eq!(
::std::mem::align_of::<pthread_rwlock_t>(),
4usize,
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>(),
4usize,
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; 20usize],
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>(),
20usize,
concat!("Size of: ", stringify!(pthread_barrier_t))
);
assert_eq!(
::std::mem::align_of::<pthread_barrier_t>(),
4usize,
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>(),
28usize,
concat!("Size of: ", stringify!(random_data))
);
assert_eq!(
::std::mem::align_of::<random_data>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rptr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize },
12usize,
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 },
16usize,
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 },
20usize,
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 },
24usize,
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>(),
4usize,
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_uint) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn calloc(
__nmemb: ::std::os::raw::c_uint,
__size: ::std::os::raw::c_uint,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn realloc(
__ptr: *mut ::std::os::raw::c_void,
__size: ::std::os::raw::c_uint,
) -> *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_uint) -> *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_uint,
__size: ::std::os::raw::c_uint,
) -> *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: 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 qfcvt(
__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 qgcvt(
__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 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: 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 qfcvt_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 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(8))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
pub __clang_max_align_nonce2: f64,
}
#[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>(),
24usize,
concat!("Size of: ", stringify!(max_align_t))
);
assert_eq!(
::std::mem::align_of::<max_align_t>(),
8usize,
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 },
8usize,
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_int;
pub type int_fast32_t = ::std::os::raw::c_int;
pub type int_fast64_t = ::std::os::raw::c_longlong;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_uint;
pub type uint_fast32_t = ::std::os::raw::c_uint;
pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type realtype = f64;
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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUNLogger_ {
_unused: [u8; 0],
}
pub type SUNLogger = *mut SUNLogger_;
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: *mut ::std::os::raw::c_void,
output_rank: ::std::os::raw::c_int,
logger: *mut SUNLogger,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_CreateFromEnv(
comm: *mut ::std::os::raw::c_void,
logger: *mut SUNLogger,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_SetErrorFilename(
logger: SUNLogger,
error_filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_SetWarningFilename(
logger: SUNLogger,
warning_filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_SetDebugFilename(
logger: SUNLogger,
debug_filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_SetInfoFilename(
logger: SUNLogger,
info_filename: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
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,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_Flush(logger: SUNLogger, lvl: SUNLogLevel) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_GetOutputRank(
logger: SUNLogger,
output_rank: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLogger_Destroy(logger: *mut SUNLogger) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _SUNProfiler {
_unused: [u8; 0],
}
pub type SUNProfiler = *mut _SUNProfiler;
extern "C" {
pub fn SUNProfiler_Create(
comm: *mut ::std::os::raw::c_void,
title: *const ::std::os::raw::c_char,
p: *mut SUNProfiler,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_Free(p: *mut SUNProfiler) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_Begin(
p: SUNProfiler,
name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_End(
p: SUNProfiler,
name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_GetTimerResolution(
p: SUNProfiler,
resolution: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_GetElapsedTime(
p: SUNProfiler,
name: *const ::std::os::raw::c_char,
time: *mut f64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_Print(p: SUNProfiler, fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNProfiler_Reset(p: SUNProfiler) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _SUNContext {
_unused: [u8; 0],
}
pub type SUNContext = *mut _SUNContext;
extern "C" {
pub fn SUNContext_Create(
comm: *mut ::std::os::raw::c_void,
ctx: *mut SUNContext,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNContext_GetProfiler(
sunctx: SUNContext,
profiler: *mut SUNProfiler,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNContext_SetProfiler(
sunctx: SUNContext,
profiler: SUNProfiler,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNContext_GetLogger(
sunctx: SUNContext,
logger: *mut SUNLogger,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNContext_SetLogger(sunctx: SUNContext, logger: SUNLogger) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNContext_Free(ctx: *mut SUNContext) -> ::std::os::raw::c_int;
}
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 realtype>,
pub nvgetdevicearraypointer:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> *mut realtype>,
pub nvsetarraypointer:
::std::option::Option<unsafe extern "C" fn(arg1: *mut realtype, arg2: N_Vector)>,
pub nvgetcommunicator:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> *mut ::std::os::raw::c_void>,
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: realtype,
arg2: N_Vector,
arg3: realtype,
arg4: N_Vector,
arg5: N_Vector,
),
>,
pub nvconst: ::std::option::Option<unsafe extern "C" fn(arg1: realtype, 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: realtype, 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: realtype, arg3: N_Vector)>,
pub nvdotprod:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector) -> realtype>,
pub nvmaxnorm: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
pub nvwrmsnorm:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector) -> realtype>,
pub nvwrmsnormmask: ::std::option::Option<
unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector, arg3: N_Vector) -> realtype,
>,
pub nvmin: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
pub nvwl2norm:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector) -> realtype>,
pub nvl1norm: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
pub nvcompare:
::std::option::Option<unsafe extern "C" fn(arg1: realtype, 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) -> realtype>,
pub nvlinearcombination: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: *mut realtype,
arg3: *mut N_Vector,
arg4: N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvscaleaddmulti: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: *mut realtype,
arg3: N_Vector,
arg4: *mut N_Vector,
arg5: *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvdotprodmulti: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: N_Vector,
arg3: *mut N_Vector,
arg4: *mut realtype,
) -> ::std::os::raw::c_int,
>,
pub nvlinearsumvectorarray: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: realtype,
arg3: *mut N_Vector,
arg4: realtype,
arg5: *mut N_Vector,
arg6: *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvscalevectorarray: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: *mut realtype,
arg3: *mut N_Vector,
arg4: *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvconstvectorarray: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: realtype,
arg3: *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
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 realtype,
) -> ::std::os::raw::c_int,
>,
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 realtype,
) -> ::std::os::raw::c_int,
>,
pub nvscaleaddmultivectorarray: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: ::std::os::raw::c_int,
arg3: *mut realtype,
arg4: *mut N_Vector,
arg5: *mut *mut N_Vector,
arg6: *mut *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvlinearcombinationvectorarray: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: ::std::os::raw::c_int,
arg3: *mut realtype,
arg4: *mut *mut N_Vector,
arg5: *mut N_Vector,
) -> ::std::os::raw::c_int,
>,
pub nvdotprodlocal:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector) -> realtype>,
pub nvmaxnormlocal: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
pub nvminlocal: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
pub nvl1normlocal: ::std::option::Option<unsafe extern "C" fn(arg1: N_Vector) -> realtype>,
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) -> realtype>,
pub nvwsqrsumlocal:
::std::option::Option<unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector) -> realtype>,
pub nvwsqrsummasklocal: ::std::option::Option<
unsafe extern "C" fn(arg1: N_Vector, arg2: N_Vector, arg3: N_Vector) -> realtype,
>,
pub nvdotprodmultilocal: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: N_Vector,
arg3: *mut N_Vector,
arg4: *mut realtype,
) -> ::std::os::raw::c_int,
>,
pub nvdotprodmultiallreduce: ::std::option::Option<
unsafe extern "C" fn(
arg1: ::std::os::raw::c_int,
arg2: N_Vector,
arg3: *mut realtype,
) -> ::std::os::raw::c_int,
>,
pub nvbufsize: ::std::option::Option<
unsafe extern "C" fn(arg1: N_Vector, arg2: *mut sunindextype) -> ::std::os::raw::c_int,
>,
pub nvbufpack: ::std::option::Option<
unsafe extern "C" fn(
arg1: N_Vector,
arg2: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub nvbufunpack: ::std::option::Option<
unsafe extern "C" fn(
arg1: N_Vector,
arg2: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
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>(),
224usize,
concat!("Size of: ", stringify!(_generic_N_Vector_Ops))
);
assert_eq!(
::std::mem::align_of::<_generic_N_Vector_Ops>(),
4usize,
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 },
4usize,
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 },
8usize,
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 },
12usize,
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 },
16usize,
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 },
20usize,
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 },
24usize,
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 },
28usize,
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 },
32usize,
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 },
36usize,
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 },
40usize,
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 },
44usize,
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 },
48usize,
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 },
52usize,
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 },
56usize,
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 },
60usize,
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 },
64usize,
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 },
68usize,
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 },
72usize,
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 },
76usize,
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 },
80usize,
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 },
84usize,
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 },
88usize,
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 },
92usize,
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 },
96usize,
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 },
100usize,
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 },
104usize,
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 },
108usize,
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 },
112usize,
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 },
116usize,
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 },
120usize,
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 },
124usize,
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 },
128usize,
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 },
132usize,
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 },
136usize,
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 },
140usize,
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 },
144usize,
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 },
148usize,
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 },
152usize,
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
},
156usize,
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 },
160usize,
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 },
164usize,
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 },
168usize,
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 },
172usize,
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 },
176usize,
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 },
180usize,
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 },
184usize,
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 },
188usize,
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 },
192usize,
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 },
196usize,
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 },
200usize,
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 },
204usize,
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 },
208usize,
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 },
212usize,
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 },
216usize,
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 },
220usize,
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>(),
12usize,
concat!("Size of: ", stringify!(_generic_N_Vector))
);
assert_eq!(
::std::mem::align_of::<_generic_N_Vector>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_N_Vector),
"::",
stringify!(ops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sunctx) as usize - ptr as usize },
8usize,
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) -> ::std::os::raw::c_int;
}
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 realtype;
}
extern "C" {
pub fn N_VGetDeviceArrayPointer(v: N_Vector) -> *mut realtype;
}
extern "C" {
pub fn N_VSetArrayPointer(v_data: *mut realtype, v: N_Vector);
}
extern "C" {
pub fn N_VGetCommunicator(v: N_Vector) -> *mut ::std::os::raw::c_void;
}
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: realtype, x: N_Vector, b: realtype, y: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VConst(c: realtype, 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: realtype, 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: realtype, z: N_Vector);
}
extern "C" {
pub fn N_VDotProd(x: N_Vector, y: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMaxNorm(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNorm(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNormMask(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMin(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWL2Norm(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VL1Norm(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VCompare(c: realtype, 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) -> realtype;
}
extern "C" {
pub fn N_VLinearCombination(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut N_Vector,
z: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMulti(
nvec: ::std::os::raw::c_int,
a: *mut realtype,
x: N_Vector,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VDotProdMulti(
nvec: ::std::os::raw::c_int,
x: N_Vector,
Y: *mut N_Vector,
dotprods: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearSumVectorArray(
nvec: ::std::os::raw::c_int,
a: realtype,
X: *mut N_Vector,
b: realtype,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleVectorArray(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VConstVectorArray(
nvec: ::std::os::raw::c_int,
c: realtype,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VWrmsNormVectorArray(
nvec: ::std::os::raw::c_int,
X: *mut N_Vector,
W: *mut N_Vector,
nrm: *mut realtype,
) -> ::std::os::raw::c_int;
}
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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMultiVectorArray(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
a: *mut realtype,
X: *mut N_Vector,
Y: *mut *mut N_Vector,
Z: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearCombinationVectorArray(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VDotProdLocal(x: N_Vector, y: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMaxNormLocal(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMinLocal(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VL1NormLocal(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWSqrSumLocal(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWSqrSumMaskLocal(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
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) -> realtype;
}
extern "C" {
pub fn N_VDotProdMultiLocal(
nvec: ::std::os::raw::c_int,
x: N_Vector,
Y: *mut N_Vector,
dotprods: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VDotProdMultiAllReduce(
nvec_total: ::std::os::raw::c_int,
x: N_Vector,
sum: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufSize(x: N_Vector, size: *mut sunindextype) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufPack(x: N_Vector, buf: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufUnpack(x: N_Vector, buf: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VNewVectorArray(count: ::std::os::raw::c_int) -> *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 realtype,
}
#[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>(),
16usize,
concat!("Size of: ", stringify!(_N_VectorContent_Serial))
);
assert_eq!(
::std::mem::align_of::<_N_VectorContent_Serial>(),
4usize,
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 },
12usize,
concat!(
"Offset of field: ",
stringify!(_N_VectorContent_Serial),
"::",
stringify!(data)
)
);
}
pub type N_VectorContent_Serial = *mut _N_VectorContent_Serial;
extern "C" {
pub fn N_VNew_Serial(vec_length: sunindextype, sunctx: SUNContext) -> N_Vector;
}
extern "C" {
pub fn N_VNewEmpty_Serial(vec_length: sunindextype, sunctx: SUNContext) -> N_Vector;
}
extern "C" {
pub fn N_VMake_Serial(
vec_length: sunindextype,
v_data: *mut realtype,
sunctx: SUNContext,
) -> N_Vector;
}
extern "C" {
pub fn N_VGetLength_Serial(v: N_Vector) -> sunindextype;
}
extern "C" {
pub fn N_VPrint_Serial(v: N_Vector);
}
extern "C" {
pub fn N_VPrintFile_Serial(v: N_Vector, outfile: *mut FILE);
}
extern "C" {
pub fn N_VGetVectorID_Serial(v: N_Vector) -> N_Vector_ID;
}
extern "C" {
pub fn N_VCloneEmpty_Serial(w: N_Vector) -> N_Vector;
}
extern "C" {
pub fn N_VClone_Serial(w: N_Vector) -> N_Vector;
}
extern "C" {
pub fn N_VDestroy_Serial(v: N_Vector);
}
extern "C" {
pub fn N_VSpace_Serial(v: N_Vector, lrw: *mut sunindextype, liw: *mut sunindextype);
}
extern "C" {
pub fn N_VGetArrayPointer_Serial(v: N_Vector) -> *mut realtype;
}
extern "C" {
pub fn N_VSetArrayPointer_Serial(v_data: *mut realtype, v: N_Vector);
}
extern "C" {
pub fn N_VLinearSum_Serial(a: realtype, x: N_Vector, b: realtype, y: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VConst_Serial(c: realtype, 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: realtype, 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: realtype, z: N_Vector);
}
extern "C" {
pub fn N_VDotProd_Serial(x: N_Vector, y: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMaxNorm_Serial(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNorm_Serial(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNormMask_Serial(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMin_Serial(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWL2Norm_Serial(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VL1Norm_Serial(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VCompare_Serial(c: realtype, 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) -> realtype;
}
extern "C" {
pub fn N_VLinearCombination_Serial(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
V: *mut N_Vector,
z: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMulti_Serial(
nvec: ::std::os::raw::c_int,
a: *mut realtype,
x: N_Vector,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VDotProdMulti_Serial(
nvec: ::std::os::raw::c_int,
x: N_Vector,
Y: *mut N_Vector,
dotprods: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearSumVectorArray_Serial(
nvec: ::std::os::raw::c_int,
a: realtype,
X: *mut N_Vector,
b: realtype,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleVectorArray_Serial(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VConstVectorArray_Serial(
nvecs: ::std::os::raw::c_int,
c: realtype,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VWrmsNormVectorArray_Serial(
nvecs: ::std::os::raw::c_int,
X: *mut N_Vector,
W: *mut N_Vector,
nrm: *mut realtype,
) -> ::std::os::raw::c_int;
}
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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMultiVectorArray_Serial(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
a: *mut realtype,
X: *mut N_Vector,
Y: *mut *mut N_Vector,
Z: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearCombinationVectorArray_Serial(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VWSqrSumLocal_Serial(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWSqrSumMaskLocal_Serial(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VBufSize_Serial(x: N_Vector, size: *mut sunindextype) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufPack_Serial(
x: N_Vector,
buf: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufUnpack_Serial(
x: N_Vector,
buf: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableFusedOps_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearCombination_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleAddMulti_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableDotProdMulti_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearSumVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableConstVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableWrmsNormVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableWrmsNormMaskVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleAddMultiVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearCombinationVectorArray_Serial(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VCloneVectorArray_Serial(count: ::std::os::raw::c_int, w: N_Vector) -> *mut N_Vector;
}
extern "C" {
pub fn N_VCloneVectorArrayEmpty_Serial(
count: ::std::os::raw::c_int,
w: N_Vector,
) -> *mut N_Vector;
}
extern "C" {
pub fn N_VDestroyVectorArray_Serial(vs: *mut N_Vector, count: ::std::os::raw::c_int);
}
pub const PREC_NONE: _bindgen_ty_1 = 0;
pub const PREC_LEFT: _bindgen_ty_1 = 1;
pub const PREC_RIGHT: _bindgen_ty_1 = 2;
pub const PREC_BOTH: _bindgen_ty_1 = 3;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
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 MODIFIED_GS: _bindgen_ty_3 = 1;
pub const CLASSICAL_GS: _bindgen_ty_3 = 2;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
pub const SUN_MODIFIED_GS: _bindgen_ty_4 = 1;
pub const SUN_CLASSICAL_GS: _bindgen_ty_4 = 2;
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
pub type ATimesFn = ::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 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 PSetupFn = ::std::option::Option<
unsafe extern "C" fn(P_data: *mut ::std::os::raw::c_void) -> ::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 PSolveFn = ::std::option::Option<
unsafe extern "C" fn(
P_data: *mut ::std::os::raw::c_void,
r: N_Vector,
z: N_Vector,
tol: realtype,
lr: ::std::os::raw::c_int,
) -> ::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: realtype,
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 realtype,
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 realtype,
k: ::std::os::raw::c_int,
p: ::std::os::raw::c_int,
new_vk_norm: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ModifiedGS(
v: *mut N_Vector,
h: *mut *mut realtype,
k: ::std::os::raw::c_int,
p: ::std::os::raw::c_int,
new_vk_norm: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNClassicalGS(
v: *mut N_Vector,
h: *mut *mut realtype,
k: ::std::os::raw::c_int,
p: ::std::os::raw::c_int,
new_vk_norm: *mut realtype,
stemp: *mut realtype,
vtemp: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ClassicalGS(
v: *mut N_Vector,
h: *mut *mut realtype,
k: ::std::os::raw::c_int,
p: ::std::os::raw::c_int,
new_vk_norm: *mut realtype,
stemp: *mut realtype,
vtemp: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRfact(
n: ::std::os::raw::c_int,
h: *mut *mut realtype,
q: *mut realtype,
job: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn QRfact(
n: ::std::os::raw::c_int,
h: *mut *mut realtype,
q: *mut realtype,
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 realtype,
q: *mut realtype,
b: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn QRsol(
n: ::std::os::raw::c_int,
h: *mut *mut realtype,
q: *mut realtype,
b: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_MGS(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_ICWY(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_ICWY_SB(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_CGS2(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_DCGS2(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNQRAdd_DCGS2_SB(
Q: *mut N_Vector,
R: *mut realtype,
df: N_Vector,
m: ::std::os::raw::c_int,
mMax: ::std::os::raw::c_int,
QRdata: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int>,
pub copy: ::std::option::Option<
unsafe extern "C" fn(arg1: SUNMatrix, arg2: SUNMatrix) -> ::std::os::raw::c_int,
>,
pub scaleadd: ::std::option::Option<
unsafe extern "C" fn(
arg1: realtype,
arg2: SUNMatrix,
arg3: SUNMatrix,
) -> ::std::os::raw::c_int,
>,
pub scaleaddi: ::std::option::Option<
unsafe extern "C" fn(arg1: realtype, arg2: SUNMatrix) -> ::std::os::raw::c_int,
>,
pub matvecsetup:
::std::option::Option<unsafe extern "C" fn(arg1: SUNMatrix) -> ::std::os::raw::c_int>,
pub matvec: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNMatrix,
arg2: N_Vector,
arg3: N_Vector,
) -> ::std::os::raw::c_int,
>,
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,
) -> ::std::os::raw::c_int,
>,
}
#[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>(),
40usize,
concat!("Size of: ", stringify!(_generic_SUNMatrix_Ops))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNMatrix_Ops>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(clone)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(destroy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).zero) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(zero)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaleadd) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(scaleadd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaleaddi) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(scaleaddi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).matvecsetup) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(matvecsetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).matvec) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix_Ops),
"::",
stringify!(matvec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).space) as usize - ptr as usize },
36usize,
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>(),
12usize,
concat!("Size of: ", stringify!(_generic_SUNMatrix))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNMatrix>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNMatrix),
"::",
stringify!(ops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sunctx) as usize - ptr as usize },
8usize,
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) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatCopy(A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAdd(c: realtype, A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAddI(c: realtype, A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatMatvecSetup(A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatMatvec(A: SUNMatrix, x: N_Vector, y: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatSpace(
A: SUNMatrix,
lenrw: *mut ::std::os::raw::c_long,
leniw: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
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,
) -> ::std::os::raw::c_int,
>,
pub setpreconditioner: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNLinearSolver,
arg2: *mut ::std::os::raw::c_void,
arg3: SUNPSetupFn,
arg4: SUNPSolveFn,
) -> ::std::os::raw::c_int,
>,
pub setscalingvectors: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNLinearSolver,
arg2: N_Vector,
arg3: N_Vector,
) -> ::std::os::raw::c_int,
>,
pub setzeroguess: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNLinearSolver,
arg2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub initialize:
::std::option::Option<unsafe extern "C" fn(arg1: SUNLinearSolver) -> ::std::os::raw::c_int>,
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: realtype,
) -> ::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) -> realtype>,
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,
) -> ::std::os::raw::c_int,
>,
pub resid: ::std::option::Option<unsafe extern "C" fn(arg1: SUNLinearSolver) -> N_Vector>,
pub free:
::std::option::Option<unsafe extern "C" fn(arg1: SUNLinearSolver) -> ::std::os::raw::c_int>,
}
#[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>(),
60usize,
concat!("Size of: ", stringify!(_generic_SUNLinearSolver_Ops))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNLinearSolver_Ops>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(getid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setatimes) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(setatimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setpreconditioner) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(setpreconditioner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setscalingvectors) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(setscalingvectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setzeroguess) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(setzeroguess)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initialize) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(initialize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setup) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(setup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).solve) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(solve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numiters) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(numiters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resnorm) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(resnorm)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lastflag) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(lastflag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).space) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(space)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resid) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver_Ops),
"::",
stringify!(resid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
56usize,
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>(),
12usize,
concat!("Size of: ", stringify!(_generic_SUNLinearSolver))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNLinearSolver>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNLinearSolver),
"::",
stringify!(ops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sunctx) as usize - ptr as usize },
8usize,
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors(
S: SUNLinearSolver,
s1: N_Vector,
s2: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess(
S: SUNLinearSolver,
onoff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolInitialize(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolNumIters(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolResNorm(S: SUNLinearSolver) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
#[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 realtype,
pub ldata: sunindextype,
pub cols: *mut *mut realtype,
}
#[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>(),
68usize,
concat!("Size of: ", stringify!(_DlsMat))
);
assert_eq!(
::std::mem::align_of::<_DlsMat>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(M)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(N)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ldim) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(ldim)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mu) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(mu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ml) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(ml)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s_mu) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(s_mu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ldata) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(ldata)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cols) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_DlsMat),
"::",
stringify!(cols)
)
);
}
pub type SUNDlsMat = *mut _DlsMat;
pub type DlsMat = SUNDlsMat;
extern "C" {
pub fn SUNDlsMat_NewDenseMat(M: sunindextype, N: sunindextype) -> SUNDlsMat;
}
extern "C" {
pub fn NewDenseMat(M: sunindextype, N: sunindextype) -> DlsMat;
}
extern "C" {
pub fn SUNDlsMat_NewBandMat(
N: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
) -> SUNDlsMat;
}
extern "C" {
pub fn NewBandMat(
N: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
) -> DlsMat;
}
extern "C" {
pub fn SUNDlsMat_DestroyMat(A: DlsMat);
}
extern "C" {
pub fn DestroyMat(A: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_NewIntArray(N: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_int;
}
extern "C" {
pub fn 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 NewIndexArray(N: sunindextype) -> *mut sunindextype;
}
extern "C" {
pub fn SUNDlsMat_NewRealArray(N: sunindextype) -> *mut realtype;
}
extern "C" {
pub fn NewRealArray(N: sunindextype) -> *mut realtype;
}
extern "C" {
pub fn SUNDlsMat_DestroyArray(p: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn DestroyArray(p: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn SUNDlsMat_AddIdentity(A: SUNDlsMat);
}
extern "C" {
pub fn AddIdentity(A: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_SetToZero(A: SUNDlsMat);
}
extern "C" {
pub fn SetToZero(A: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_PrintMat(A: SUNDlsMat, outfile: *mut FILE);
}
extern "C" {
pub fn PrintMat(A: DlsMat, outfile: *mut FILE);
}
extern "C" {
pub fn SUNDlsMat_newDenseMat(m: sunindextype, n: sunindextype) -> *mut *mut realtype;
}
extern "C" {
pub fn newDenseMat(m: sunindextype, n: sunindextype) -> *mut *mut realtype;
}
extern "C" {
pub fn SUNDlsMat_newBandMat(
n: sunindextype,
smu: sunindextype,
ml: sunindextype,
) -> *mut *mut realtype;
}
extern "C" {
pub fn newBandMat(n: sunindextype, smu: sunindextype, ml: sunindextype) -> *mut *mut realtype;
}
extern "C" {
pub fn SUNDlsMat_destroyMat(a: *mut *mut realtype);
}
extern "C" {
pub fn destroyMat(a: *mut *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_newIntArray(n: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_int;
}
extern "C" {
pub fn 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 newIndexArray(n: sunindextype) -> *mut sunindextype;
}
extern "C" {
pub fn SUNDlsMat_newRealArray(m: sunindextype) -> *mut realtype;
}
extern "C" {
pub fn newRealArray(m: sunindextype) -> *mut realtype;
}
extern "C" {
pub fn SUNDlsMat_destroyArray(v: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn destroyArray(v: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn SUNDlsMat_BandGBTRF(A: SUNDlsMat, p: *mut sunindextype) -> sunindextype;
}
extern "C" {
pub fn BandGBTRF(A: DlsMat, p: *mut sunindextype) -> sunindextype;
}
extern "C" {
pub fn SUNDlsMat_bandGBTRF(
a: *mut *mut realtype,
n: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
p: *mut sunindextype,
) -> sunindextype;
}
extern "C" {
pub fn bandGBTRF(
a: *mut *mut realtype,
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 realtype);
}
extern "C" {
pub fn BandGBTRS(A: DlsMat, p: *mut sunindextype, b: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_bandGBTRS(
a: *mut *mut realtype,
n: sunindextype,
smu: sunindextype,
ml: sunindextype,
p: *mut sunindextype,
b: *mut realtype,
);
}
extern "C" {
pub fn bandGBTRS(
a: *mut *mut realtype,
n: sunindextype,
smu: sunindextype,
ml: sunindextype,
p: *mut sunindextype,
b: *mut realtype,
);
}
extern "C" {
pub fn SUNDlsMat_BandCopy(
A: SUNDlsMat,
B: SUNDlsMat,
copymu: sunindextype,
copyml: sunindextype,
);
}
extern "C" {
pub fn BandCopy(A: DlsMat, B: DlsMat, copymu: sunindextype, copyml: sunindextype);
}
extern "C" {
pub fn SUNDlsMat_bandCopy(
a: *mut *mut realtype,
b: *mut *mut realtype,
n: sunindextype,
a_smu: sunindextype,
b_smu: sunindextype,
copymu: sunindextype,
copyml: sunindextype,
);
}
extern "C" {
pub fn bandCopy(
a: *mut *mut realtype,
b: *mut *mut realtype,
n: sunindextype,
a_smu: sunindextype,
b_smu: sunindextype,
copymu: sunindextype,
copyml: sunindextype,
);
}
extern "C" {
pub fn SUNDlsMat_BandScale(c: realtype, A: SUNDlsMat);
}
extern "C" {
pub fn BandScale(c: realtype, A: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_bandScale(
c: realtype,
a: *mut *mut realtype,
n: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
);
}
extern "C" {
pub fn bandScale(
c: realtype,
a: *mut *mut realtype,
n: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
);
}
extern "C" {
pub fn SUNDlsMat_bandAddIdentity(a: *mut *mut realtype, n: sunindextype, smu: sunindextype);
}
extern "C" {
pub fn bandAddIdentity(a: *mut *mut realtype, n: sunindextype, smu: sunindextype);
}
extern "C" {
pub fn SUNDlsMat_BandMatvec(A: SUNDlsMat, x: *mut realtype, y: *mut realtype);
}
extern "C" {
pub fn BandMatvec(A: DlsMat, x: *mut realtype, y: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_bandMatvec(
a: *mut *mut realtype,
x: *mut realtype,
y: *mut realtype,
n: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
);
}
extern "C" {
pub fn bandMatvec(
a: *mut *mut realtype,
x: *mut realtype,
y: *mut realtype,
n: sunindextype,
mu: sunindextype,
ml: sunindextype,
smu: sunindextype,
);
}
#[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 realtype,
pub ldata: sunindextype,
pub cols: *mut *mut realtype,
}
#[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>(),
64usize,
concat!("Size of: ", stringify!(_SUNMatrixContent_Band))
);
assert_eq!(
::std::mem::align_of::<_SUNMatrixContent_Band>(),
4usize,
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 },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Band),
"::",
stringify!(ldata)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cols) as usize - ptr as usize },
60usize,
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 realtype;
}
extern "C" {
pub fn SUNBandMatrix_Cols(A: SUNMatrix) -> *mut *mut realtype;
}
extern "C" {
pub fn SUNBandMatrix_Column(A: SUNMatrix, j: sunindextype) -> *mut realtype;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatCopy_Band(A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAdd_Band(c: realtype, A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAddI_Band(c: realtype, A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatMatvec_Band(A: SUNMatrix, x: N_Vector, y: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatSpace_Band(
A: SUNMatrix,
lenrw: *mut ::std::os::raw::c_long,
leniw: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
#[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>(),
20usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_Band))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_Band>(),
4usize,
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 },
12usize,
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) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_Band(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
#[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: realtype,
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,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
92usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_SPBCGS))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_SPBCGS>(),
4usize,
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 },
28usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(ATimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ATData) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(ATData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psetup) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(Psetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psolve) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(Psolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).PData) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(PData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s1) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(s1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s2) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(s2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r_star) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(r_star)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(q)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(u)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Ap) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(Ap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(vtemp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPBCGS),
"::",
stringify!(info_file)
)
);
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPBCGSSetMaxl(
S: SUNLinearSolver,
maxl: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetATimes_SPBCGS(
S: SUNLinearSolver,
A_data: *mut ::std::os::raw::c_void,
ATimes: SUNATimesFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner_SPBCGS(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors_SPBCGS(
S: SUNLinearSolver,
s1: N_Vector,
s2: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess_SPBCGS(
S: SUNLinearSolver,
onoff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_SPBCGS(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetInfoFile_SPBCGS(
LS: SUNLinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPrintLevel_SPBCGS(
LS: SUNLinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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: realtype,
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 realtype,
pub givens: *mut realtype,
pub xcor: N_Vector,
pub yg: *mut realtype,
pub vtemp: N_Vector,
pub cv: *mut realtype,
pub Xv: *mut N_Vector,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
104usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_SPGMR))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_SPGMR>(),
4usize,
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 },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(ATimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ATData) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(ATData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psetup) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(Psetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psolve) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(Psolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).PData) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(PData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s1) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(s1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s2) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(s2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).V) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(V)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Hes) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(Hes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).givens) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(givens)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xcor) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(xcor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).yg) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(yg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(vtemp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cv) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(cv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Xv) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(Xv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPGMR),
"::",
stringify!(info_file)
)
);
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPGMRSetGSType(
S: SUNLinearSolver,
gstype: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPGMRSetMaxRestarts(
S: SUNLinearSolver,
maxrs: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetATimes_SPGMR(
S: SUNLinearSolver,
A_data: *mut ::std::os::raw::c_void,
ATimes: SUNATimesFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner_SPGMR(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors_SPGMR(
S: SUNLinearSolver,
s1: N_Vector,
s2: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess_SPGMR(
S: SUNLinearSolver,
onff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_SPGMR(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetInfoFile_SPGMR(
LS: SUNLinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPrintLevel_SPGMR(
LS: SUNLinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNDlsMat_DenseGETRF(A: SUNDlsMat, p: *mut sunindextype) -> sunindextype;
}
extern "C" {
pub fn DenseGETRF(A: DlsMat, p: *mut sunindextype) -> sunindextype;
}
extern "C" {
pub fn SUNDlsMat_DenseGETRS(A: SUNDlsMat, p: *mut sunindextype, b: *mut realtype);
}
extern "C" {
pub fn DenseGETRS(A: DlsMat, p: *mut sunindextype, b: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_denseGETRF(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
p: *mut sunindextype,
) -> sunindextype;
}
extern "C" {
pub fn denseGETRF(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
p: *mut sunindextype,
) -> sunindextype;
}
extern "C" {
pub fn SUNDlsMat_denseGETRS(
a: *mut *mut realtype,
n: sunindextype,
p: *mut sunindextype,
b: *mut realtype,
);
}
extern "C" {
pub fn denseGETRS(
a: *mut *mut realtype,
n: sunindextype,
p: *mut sunindextype,
b: *mut realtype,
);
}
extern "C" {
pub fn SUNDlsMat_DensePOTRF(A: SUNDlsMat) -> sunindextype;
}
extern "C" {
pub fn DensePOTRF(A: DlsMat) -> sunindextype;
}
extern "C" {
pub fn SUNDlsMat_DensePOTRS(A: SUNDlsMat, b: *mut realtype);
}
extern "C" {
pub fn DensePOTRS(A: DlsMat, b: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_densePOTRF(a: *mut *mut realtype, m: sunindextype) -> sunindextype;
}
extern "C" {
pub fn densePOTRF(a: *mut *mut realtype, m: sunindextype) -> sunindextype;
}
extern "C" {
pub fn SUNDlsMat_densePOTRS(a: *mut *mut realtype, m: sunindextype, b: *mut realtype);
}
extern "C" {
pub fn densePOTRS(a: *mut *mut realtype, m: sunindextype, b: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_DenseGEQRF(
A: SUNDlsMat,
beta: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn DenseGEQRF(A: DlsMat, beta: *mut realtype, wrk: *mut realtype) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNDlsMat_DenseORMQR(
A: SUNDlsMat,
beta: *mut realtype,
vn: *mut realtype,
vm: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn DenseORMQR(
A: DlsMat,
beta: *mut realtype,
vn: *mut realtype,
vm: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNDlsMat_denseGEQRF(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
beta: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn denseGEQRF(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
beta: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNDlsMat_denseORMQR(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
beta: *mut realtype,
v: *mut realtype,
w: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn denseORMQR(
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
beta: *mut realtype,
v: *mut realtype,
w: *mut realtype,
wrk: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNDlsMat_DenseCopy(A: SUNDlsMat, B: SUNDlsMat);
}
extern "C" {
pub fn DenseCopy(A: DlsMat, B: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_denseCopy(
a: *mut *mut realtype,
b: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
);
}
extern "C" {
pub fn denseCopy(
a: *mut *mut realtype,
b: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
);
}
extern "C" {
pub fn SUNDlsMat_DenseScale(c: realtype, A: SUNDlsMat);
}
extern "C" {
pub fn DenseScale(c: realtype, A: DlsMat);
}
extern "C" {
pub fn SUNDlsMat_denseScale(
c: realtype,
a: *mut *mut realtype,
m: sunindextype,
n: sunindextype,
);
}
extern "C" {
pub fn denseScale(c: realtype, a: *mut *mut realtype, m: sunindextype, n: sunindextype);
}
extern "C" {
pub fn SUNDlsMat_denseAddIdentity(a: *mut *mut realtype, n: sunindextype);
}
extern "C" {
pub fn denseAddIdentity(a: *mut *mut realtype, n: sunindextype);
}
extern "C" {
pub fn SUNDlsMat_DenseMatvec(A: SUNDlsMat, x: *mut realtype, y: *mut realtype);
}
extern "C" {
pub fn DenseMatvec(A: DlsMat, x: *mut realtype, y: *mut realtype);
}
extern "C" {
pub fn SUNDlsMat_denseMatvec(
a: *mut *mut realtype,
x: *mut realtype,
y: *mut realtype,
m: sunindextype,
n: sunindextype,
);
}
extern "C" {
pub fn denseMatvec(
a: *mut *mut realtype,
x: *mut realtype,
y: *mut realtype,
m: sunindextype,
n: sunindextype,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _SUNMatrixContent_Dense {
pub M: sunindextype,
pub N: sunindextype,
pub data: *mut realtype,
pub ldata: sunindextype,
pub cols: *mut *mut realtype,
}
#[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>(),
32usize,
concat!("Size of: ", stringify!(_SUNMatrixContent_Dense))
);
assert_eq!(
::std::mem::align_of::<_SUNMatrixContent_Dense>(),
4usize,
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 },
20usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Dense),
"::",
stringify!(ldata)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cols) as usize - ptr as usize },
28usize,
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 realtype;
}
extern "C" {
pub fn SUNDenseMatrix_Cols(A: SUNMatrix) -> *mut *mut realtype;
}
extern "C" {
pub fn SUNDenseMatrix_Column(A: SUNMatrix, j: sunindextype) -> *mut realtype;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatCopy_Dense(A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAdd_Dense(c: realtype, A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAddI_Dense(c: realtype, A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatMatvec_Dense(A: SUNMatrix, x: N_Vector, y: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatSpace_Dense(
A: SUNMatrix,
lenrw: *mut ::std::os::raw::c_long,
leniw: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
#[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>(),
20usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_Dense))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_Dense>(),
4usize,
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 },
12usize,
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) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_Dense(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
#[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: realtype,
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,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
76usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_PCG))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_PCG>(),
4usize,
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 },
28usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(ATimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ATData) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(ATData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psetup) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(Psetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psolve) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(Psolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).PData) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(PData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(s)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(z)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Ap) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(Ap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_PCG),
"::",
stringify!(info_file)
)
);
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_PCGSetMaxl(
S: SUNLinearSolver,
maxl: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetATimes_PCG(
S: SUNLinearSolver,
A_data: *mut ::std::os::raw::c_void,
ATimes: SUNATimesFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner_PCG(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors_PCG(
S: SUNLinearSolver,
s: N_Vector,
nul: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess_PCG(
S: SUNLinearSolver,
onoff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_PCG(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetInfoFile_PCG(
LS: SUNLinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPrintLevel_PCG(
LS: SUNLinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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: realtype,
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 realtype,
pub givens: *mut realtype,
pub xcor: N_Vector,
pub yg: *mut realtype,
pub vtemp: N_Vector,
pub cv: *mut realtype,
pub Xv: *mut N_Vector,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
108usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_SPFGMR))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_SPFGMR>(),
4usize,
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 },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(ATimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ATData) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(ATData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psetup) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(Psetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psolve) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(Psolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).PData) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(PData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s1) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(s1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s2) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(s2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).V) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(V)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Z) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(Z)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Hes) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(Hes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).givens) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(givens)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xcor) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(xcor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).yg) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(yg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(vtemp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cv) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(cv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Xv) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(Xv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPFGMR),
"::",
stringify!(info_file)
)
);
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPFGMRSetGSType(
S: SUNLinearSolver,
gstype: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPFGMRSetMaxRestarts(
S: SUNLinearSolver,
maxrs: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetATimes_SPFGMR(
S: SUNLinearSolver,
A_data: *mut ::std::os::raw::c_void,
ATimes: SUNATimesFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner_SPFGMR(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors_SPFGMR(
S: SUNLinearSolver,
s1: N_Vector,
s2: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess_SPFGMR(
S: SUNLinearSolver,
onoff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_SPFGMR(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetInfoFile_SPFGMR(
LS: SUNLinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPrintLevel_SPFGMR(
LS: SUNLinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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: realtype,
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,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
104usize,
concat!("Size of: ", stringify!(_SUNLinearSolverContent_SPTFQMR))
);
assert_eq!(
::std::mem::align_of::<_SUNLinearSolverContent_SPTFQMR>(),
4usize,
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 },
28usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(ATimes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ATData) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(ATData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psetup) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(Psetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Psolve) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(Psolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).PData) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(PData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s1) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(s1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).s2) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(s2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r_star) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(r_star)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(q)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(d)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(v)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(p)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(u)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp1) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(vtemp1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp2) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(vtemp2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtemp3) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(vtemp3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_SUNLinearSolverContent_SPTFQMR),
"::",
stringify!(info_file)
)
);
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSol_SPTFQMRSetMaxl(
S: SUNLinearSolver,
maxl: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetATimes_SPTFQMR(
S: SUNLinearSolver,
A_data: *mut ::std::os::raw::c_void,
ATimes: SUNATimesFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPreconditioner_SPTFQMR(
S: SUNLinearSolver,
P_data: *mut ::std::os::raw::c_void,
Pset: SUNPSetupFn,
Psol: SUNPSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetScalingVectors_SPTFQMR(
S: SUNLinearSolver,
s1: N_Vector,
s2: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetZeroGuess_SPTFQMR(
S: SUNLinearSolver,
onoff: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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: realtype,
) -> ::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) -> realtype;
}
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,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolFree_SPTFQMR(S: SUNLinearSolver) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetInfoFile_SPTFQMR(
LS: SUNLinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNLinSolSetPrintLevel_SPTFQMR(
LS: SUNLinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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 realtype,
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>(),
64usize,
concat!("Size of: ", stringify!(_SUNMatrixContent_Sparse))
);
assert_eq!(
::std::mem::align_of::<_SUNMatrixContent_Sparse>(),
4usize,
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 },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(sparsetype)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).indexvals) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(indexvals)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).indexptrs) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(indexptrs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rowvals) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(rowvals)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colptrs) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(colptrs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colvals) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNMatrixContent_Sparse),
"::",
stringify!(colvals)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rowptrs) as usize - ptr as usize },
60usize,
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: realtype,
sparsetype: ::std::os::raw::c_int,
) -> SUNMatrix;
}
extern "C" {
pub fn SUNSparseFromBandMatrix(
A: SUNMatrix,
droptol: realtype,
sparsetype: ::std::os::raw::c_int,
) -> SUNMatrix;
}
extern "C" {
pub fn SUNSparseMatrix_ToCSR(A: SUNMatrix, Bout: *mut SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNSparseMatrix_ToCSC(A: SUNMatrix, Bout: *mut SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNSparseMatrix_Realloc(A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNSparseMatrix_Reallocate(A: SUNMatrix, NNZ: sunindextype) -> ::std::os::raw::c_int;
}
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 realtype;
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatCopy_Sparse(A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAdd_Sparse(c: realtype, A: SUNMatrix, B: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatScaleAddI_Sparse(c: realtype, A: SUNMatrix) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatMatvec_Sparse(A: SUNMatrix, x: N_Vector, y: N_Vector) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNMatSpace_Sparse(
A: SUNMatrix,
lenrw: *mut ::std::os::raw::c_long,
leniw: *mut ::std::os::raw::c_long,
) -> ::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: realtype,
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) -> ::std::os::raw::c_int,
>,
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: realtype,
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) -> ::std::os::raw::c_int,
>,
pub setsysfn: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int,
>,
pub setlsetupfn: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: SUNNonlinSolLSetupFn,
) -> ::std::os::raw::c_int,
>,
pub setlsolvefn: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: SUNNonlinSolLSolveFn,
) -> ::std::os::raw::c_int,
>,
pub setctestfn: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: SUNNonlinSolConvTestFn,
arg3: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub setmaxiters: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub getnumiters: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int,
>,
pub getcuriter: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub getnumconvfails: ::std::option::Option<
unsafe extern "C" fn(
arg1: SUNNonlinearSolver,
arg2: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int,
>,
}
#[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>(),
52usize,
concat!("Size of: ", stringify!(_generic_SUNNonlinearSolver_Ops))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNNonlinearSolver_Ops>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(initialize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setup) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).solve) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(solve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(free)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setsysfn) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setsysfn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setlsetupfn) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setlsetupfn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setlsolvefn) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setlsolvefn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setctestfn) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setctestfn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).setmaxiters) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(setmaxiters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getnumiters) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(getnumiters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getcuriter) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver_Ops),
"::",
stringify!(getcuriter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getnumconvfails) as usize - ptr as usize },
48usize,
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>(),
12usize,
concat!("Size of: ", stringify!(_generic_SUNNonlinearSolver))
);
assert_eq!(
::std::mem::align_of::<_generic_SUNNonlinearSolver>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_generic_SUNNonlinearSolver),
"::",
stringify!(ops)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sunctx) as usize - ptr as usize },
8usize,
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) -> ::std::os::raw::c_int;
}
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: realtype,
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetSysFn(
NLS: SUNNonlinearSolver,
SysFn: SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetLSetupFn(
NLS: SUNNonlinearSolver,
SetupFn: SUNNonlinSolLSetupFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetLSolveFn(
NLS: SUNNonlinearSolver,
SolveFn: SUNNonlinSolLSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetConvTestFn(
NLS: SUNNonlinearSolver,
CTestFn: SUNNonlinSolConvTestFn,
ctest_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetMaxIters(
NLS: SUNNonlinearSolver,
maxiters: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumIters(
NLS: SUNNonlinearSolver,
niters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetCurIter(
NLS: SUNNonlinearSolver,
iter: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumConvFails(
NLS: SUNNonlinearSolver,
nconvfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
#[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: realtype,
pub R: *mut realtype,
pub gamma: *mut realtype,
pub cvals: *mut realtype,
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,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
104usize,
concat!(
"Size of: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint)
)
);
assert_eq!(
::std::mem::align_of::<_SUNNonlinearSolverContent_FixedPoint>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(CTest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(m)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).imap) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(imap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).damping) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(damping)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).beta) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(beta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).R) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(R)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(gamma)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cvals) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(cvals)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).df) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(df)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dg) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(dg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(q)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Xvecs) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(Xvecs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).yprev) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(yprev)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).gy) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(gy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fold) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(fold)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).gold) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(gold)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).curiter) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(curiter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxiters) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(maxiters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).niters) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(niters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nconvfails) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(nconvfails)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ctest_data) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(ctest_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_FixedPoint),
"::",
stringify!(info_file)
)
);
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSolve_FixedPoint(
NLS: SUNNonlinearSolver,
y0: N_Vector,
y: N_Vector,
w: N_Vector,
tol: realtype,
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetSysFn_FixedPoint(
NLS: SUNNonlinearSolver,
SysFn: SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetConvTestFn_FixedPoint(
NLS: SUNNonlinearSolver,
CTestFn: SUNNonlinSolConvTestFn,
ctest_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetMaxIters_FixedPoint(
NLS: SUNNonlinearSolver,
maxiters: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetDamping_FixedPoint(
NLS: SUNNonlinearSolver,
beta: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumIters_FixedPoint(
NLS: SUNNonlinearSolver,
niters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetCurIter_FixedPoint(
NLS: SUNNonlinearSolver,
iter: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumConvFails_FixedPoint(
NLS: SUNNonlinearSolver,
nconvfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetSysFn_FixedPoint(
NLS: SUNNonlinearSolver,
SysFn: *mut SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetInfoFile_FixedPoint(
NLS: SUNNonlinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetPrintLevel_FixedPoint(
NLS: SUNNonlinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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,
pub print_level: ::std::os::raw::c_int,
pub info_file: *mut FILE,
}
#[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>(),
52usize,
concat!("Size of: ", stringify!(_SUNNonlinearSolverContent_Newton))
);
assert_eq!(
::std::mem::align_of::<_SUNNonlinearSolverContent_Newton>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(LSetup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).LSolve) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(LSolve)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).CTest) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(CTest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).jcur) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(jcur)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).curiter) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(curiter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maxiters) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(maxiters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).niters) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(niters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nconvfails) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(nconvfails)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ctest_data) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(ctest_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_level) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(print_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).info_file) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_SUNNonlinearSolverContent_Newton),
"::",
stringify!(info_file)
)
);
}
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSolve_Newton(
NLS: SUNNonlinearSolver,
y0: N_Vector,
y: N_Vector,
w: N_Vector,
tol: realtype,
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) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetSysFn_Newton(
NLS: SUNNonlinearSolver,
SysFn: SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetLSetupFn_Newton(
NLS: SUNNonlinearSolver,
LSetupFn: SUNNonlinSolLSetupFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetLSolveFn_Newton(
NLS: SUNNonlinearSolver,
LSolveFn: SUNNonlinSolLSolveFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetConvTestFn_Newton(
NLS: SUNNonlinearSolver,
CTestFn: SUNNonlinSolConvTestFn,
ctest_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetMaxIters_Newton(
NLS: SUNNonlinearSolver,
maxiters: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumIters_Newton(
NLS: SUNNonlinearSolver,
niters: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetCurIter_Newton(
NLS: SUNNonlinearSolver,
iter: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetNumConvFails_Newton(
NLS: SUNNonlinearSolver,
nconvfails: *mut ::std::os::raw::c_long,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolGetSysFn_Newton(
NLS: SUNNonlinearSolver,
SysFn: *mut SUNNonlinSolSysFn,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetInfoFile_Newton(
NLS: SUNNonlinearSolver,
info_file: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn SUNNonlinSolSetPrintLevel_Newton(
NLS: SUNNonlinearSolver,
print_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[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 realtype,
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>(),
20usize,
concat!("Size of: ", stringify!(_N_VectorContent_OpenMP))
);
assert_eq!(
::std::mem::align_of::<_N_VectorContent_OpenMP>(),
4usize,
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 },
12usize,
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 },
16usize,
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 realtype,
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 realtype;
}
extern "C" {
pub fn N_VSetArrayPointer_OpenMP(v_data: *mut realtype, v: N_Vector);
}
extern "C" {
pub fn N_VLinearSum_OpenMP(a: realtype, x: N_Vector, b: realtype, y: N_Vector, z: N_Vector);
}
extern "C" {
pub fn N_VConst_OpenMP(c: realtype, 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: realtype, 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: realtype, z: N_Vector);
}
extern "C" {
pub fn N_VDotProd_OpenMP(x: N_Vector, y: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMaxNorm_OpenMP(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNorm_OpenMP(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWrmsNormMask_OpenMP(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VMin_OpenMP(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWL2Norm_OpenMP(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VL1Norm_OpenMP(x: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VCompare_OpenMP(c: realtype, 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) -> realtype;
}
extern "C" {
pub fn N_VLinearCombination_OpenMP(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
V: *mut N_Vector,
z: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMulti_OpenMP(
nvec: ::std::os::raw::c_int,
a: *mut realtype,
x: N_Vector,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VDotProdMulti_OpenMP(
nvec: ::std::os::raw::c_int,
x: N_Vector,
Y: *mut N_Vector,
dotprods: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearSumVectorArray_OpenMP(
nvec: ::std::os::raw::c_int,
a: realtype,
X: *mut N_Vector,
b: realtype,
Y: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleVectorArray_OpenMP(
nvec: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VConstVectorArray_OpenMP(
nvecs: ::std::os::raw::c_int,
c: realtype,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VWrmsNormVectorArray_OpenMP(
nvecs: ::std::os::raw::c_int,
X: *mut N_Vector,
W: *mut N_Vector,
nrm: *mut realtype,
) -> ::std::os::raw::c_int;
}
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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VScaleAddMultiVectorArray_OpenMP(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
a: *mut realtype,
X: *mut N_Vector,
Y: *mut *mut N_Vector,
Z: *mut *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VLinearCombinationVectorArray_OpenMP(
nvec: ::std::os::raw::c_int,
nsum: ::std::os::raw::c_int,
c: *mut realtype,
X: *mut *mut N_Vector,
Z: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VWSqrSumLocal_OpenMP(x: N_Vector, w: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VWSqrSumMaskLocal_OpenMP(x: N_Vector, w: N_Vector, id: N_Vector) -> realtype;
}
extern "C" {
pub fn N_VBufSize_OpenMP(x: N_Vector, size: *mut sunindextype) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufPack_OpenMP(
x: N_Vector,
buf: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VBufUnpack_OpenMP(
x: N_Vector,
buf: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableFusedOps_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearCombination_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleAddMulti_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableDotProdMulti_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearSumVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableConstVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableWrmsNormVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableWrmsNormMaskVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableScaleAddMultiVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VEnableLinearCombinationVectorArray_OpenMP(
v: N_Vector,
tf: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn N_VCloneVectorArray_OpenMP(count: ::std::os::raw::c_int, w: N_Vector) -> *mut N_Vector;
}
extern "C" {
pub fn N_VCloneVectorArrayEmpty_OpenMP(
count: ::std::os::raw::c_int,
w: N_Vector,
) -> *mut N_Vector;
}
extern "C" {
pub fn N_VDestroyVectorArray_OpenMP(vs: *mut N_Vector, count: ::std::os::raw::c_int);
}
pub type CVLsJacFn = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
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: realtype,
y: N_Vector,
fy: N_Vector,
jok: ::std::os::raw::c_int,
jcurPtr: *mut ::std::os::raw::c_int,
gamma: realtype,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSolveFn = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
y: N_Vector,
fy: N_Vector,
r: N_Vector,
z: N_Vector,
gamma: realtype,
delta: realtype,
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: realtype,
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: realtype,
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: realtype,
y: N_Vector,
fy: N_Vector,
A: SUNMatrix,
jok: ::std::os::raw::c_int,
jcur: *mut ::std::os::raw::c_int,
gamma: realtype,
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEpsLin(
cvode_mem: *mut ::std::os::raw::c_void,
eplifac: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetLSNormFactor(
arkode_mem: *mut ::std::os::raw::c_void,
nrmfac: realtype,
) -> ::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: realtype,
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: realtype,
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: realtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
jokB: ::std::os::raw::c_int,
jcurPtrB: *mut ::std::os::raw::c_int,
gammaB: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
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: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type CVLsPrecSolveFnB = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
y: N_Vector,
yB: N_Vector,
fyB: N_Vector,
rB: N_Vector,
zB: N_Vector,
gammaB: realtype,
deltaB: realtype,
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: realtype,
y: N_Vector,
yS: *mut N_Vector,
yB: N_Vector,
fyB: N_Vector,
rB: N_Vector,
zB: N_Vector,
gammaB: realtype,
deltaB: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
ycur: N_Vector,
corr: N_Vector,
epsProj: realtype,
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetProjFailEta(
cvode_mem: *mut ::std::os::raw::c_void,
eta: realtype,
) -> ::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: realtype,
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: realtype,
y: N_Vector,
gout: *mut realtype,
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 CVErrHandlerFn = ::std::option::Option<
unsafe extern "C" fn(
error_code: ::std::os::raw::c_int,
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,
),
>;
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
y0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeReInit(
cvode_mem: *mut ::std::os::raw::c_void,
t0: realtype,
y0: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSStolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltol: realtype,
abstol: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltol: realtype,
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetErrFile(
cvode_mem: *mut ::std::os::raw::c_void,
errfp: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetErrHandlerFn(
cvode_mem: *mut ::std::os::raw::c_void,
ehfun: CVErrHandlerFn,
eh_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetInitStep(
cvode_mem: *mut ::std::os::raw::c_void,
hin: realtype,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetMinStep(
cvode_mem: *mut ::std::os::raw::c_void,
hmin: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
eta_max_fx: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEtaMaxFirstStep(
cvode_mem: *mut ::std::os::raw::c_void,
eta_max_fs: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEtaMaxEarlyStep(
cvode_mem: *mut ::std::os::raw::c_void,
eta_max_es: realtype,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEtaMin(
cvode_mem: *mut ::std::os::raw::c_void,
eta_min: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEtaMinErrFail(
cvode_mem: *mut ::std::os::raw::c_void,
eta_min_ef: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSetEtaMaxErrFail(
cvode_mem: *mut ::std::os::raw::c_void,
eta_max_ef: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
yout: N_Vector,
tret: *mut realtype,
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: realtype,
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 realtype,
) -> ::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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetLastStep(
cvode_mem: *mut ::std::os::raw::c_void,
hlast: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetCurrentStep(
cvode_mem: *mut ::std::os::raw::c_void,
hcur: *mut realtype,
) -> ::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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetTolScaleFactor(
cvode_mem: *mut ::std::os::raw::c_void,
tolsfac: *mut realtype,
) -> ::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 realtype,
hlast: *mut realtype,
hcur: *mut realtype,
tcur: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetNonlinearSystemData(
cvode_mem: *mut ::std::os::raw::c_void,
tcur: *mut realtype,
ypred: *mut N_Vector,
yn: *mut N_Vector,
fn_: *mut N_Vector,
gamma: *mut realtype,
rl1: *mut realtype,
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 realtype,
ySpred: *mut *mut N_Vector,
ySn: *mut *mut N_Vector,
gamma: *mut realtype,
rl1: *mut realtype,
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: realtype,
abstolQ: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQ: realtype,
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 realtype,
yQout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadDky(
cvode_mem: *mut ::std::os::raw::c_void,
t: realtype,
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: realtype,
abstolS: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeSensSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolS: realtype,
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: realtype,
) -> ::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 realtype,
pbar: *mut realtype,
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 realtype,
ySout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetSens1(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut realtype,
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: realtype,
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: realtype,
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: realtype,
abstolQS: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeQuadSensSVtolerances(
cvode_mem: *mut ::std::os::raw::c_void,
reltolQS: realtype,
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 realtype,
yQSout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeGetQuadSens1(
cvode_mem: *mut ::std::os::raw::c_void,
tret: *mut realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
abstolB: realtype,
) -> ::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: realtype,
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: realtype,
abstolQB: realtype,
) -> ::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: realtype,
abstolQB: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn CVodeF(
cvode_mem: *mut ::std::os::raw::c_void,
tout: realtype,
yout: N_Vector,
tret: *mut realtype,
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: realtype,
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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::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 realtype,
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 realtype,
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: realtype,
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: realtype,
pub t1: realtype,
pub nstep: ::std::os::raw::c_long,
pub order: ::std::os::raw::c_int,
pub step: realtype,
}
#[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>(),
40usize,
concat!("Size of: ", stringify!(CVadjCheckPointRec))
);
assert_eq!(
::std::mem::align_of::<CVadjCheckPointRec>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(next_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t0) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(t0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(t1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nstep) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(nstep)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(CVadjCheckPointRec),
"::",
stringify!(order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
32usize,
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 realtype,
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 realtype,
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: realtype,
c_j: realtype,
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: realtype,
yy: N_Vector,
yp: N_Vector,
rr: N_Vector,
c_j: realtype,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSolveFn = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
yy: N_Vector,
yp: N_Vector,
rr: N_Vector,
rvec: N_Vector,
zvec: N_Vector,
c_j: realtype,
delta: realtype,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesSetupFn = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
yy: N_Vector,
yp: N_Vector,
rr: N_Vector,
c_j: realtype,
user_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesVecFn = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
yy: N_Vector,
yp: N_Vector,
rr: N_Vector,
v: N_Vector,
Jv: N_Vector,
c_j: realtype,
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetLSNormFactor(
ida_mem: *mut ::std::os::raw::c_void,
nrmfac: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
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: realtype,
y: N_Vector,
yp: N_Vector,
gout: *mut realtype,
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,
>;
pub type IDAErrHandlerFn = ::std::option::Option<
unsafe extern "C" fn(
error_code: ::std::os::raw::c_int,
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 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: realtype,
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: realtype,
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: realtype,
abstol: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltol: realtype,
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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetNonlinConvCoefIC(
ida_mem: *mut ::std::os::raw::c_void,
epiccon: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetErrHandlerFn(
ida_mem: *mut ::std::os::raw::c_void,
ehfun: IDAErrHandlerFn,
eh_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetErrFile(
ida_mem: *mut ::std::os::raw::c_void,
errfp: *mut FILE,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetMaxStep(
ida_mem: *mut ::std::os::raw::c_void,
hmax: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetMinStep(
ida_mem: *mut ::std::os::raw::c_void,
hmin: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetStopTime(
ida_mem: *mut ::std::os::raw::c_void,
tstop: realtype,
) -> ::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: realtype,
eta_max_fx: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEtaMin(
ida_mem: *mut ::std::os::raw::c_void,
eta_min: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEtaMax(
ida_mem: *mut ::std::os::raw::c_void,
eta_max: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEtaLow(
ida_mem: *mut ::std::os::raw::c_void,
eta_low: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEtaMinErrFail(
ida_mem: *mut ::std::os::raw::c_void,
eta_min_ef: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASetEtaConvFail(
ida_mem: *mut ::std::os::raw::c_void,
eta_cf: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
tret: *mut realtype,
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: realtype,
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 realtype,
) -> ::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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetLastStep(
ida_mem: *mut ::std::os::raw::c_void,
hlast: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetCurrentStep(
ida_mem: *mut ::std::os::raw::c_void,
hcur: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetCurrentTime(
ida_mem: *mut ::std::os::raw::c_void,
tcur: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetTolScaleFactor(
ida_mem: *mut ::std::os::raw::c_void,
tolsfact: *mut realtype,
) -> ::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 realtype,
hlast: *mut realtype,
hcur: *mut realtype,
tcur: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetNonlinearSystemData(
ida_mem: *mut ::std::os::raw::c_void,
tcur: *mut realtype,
yypred: *mut N_Vector,
yppred: *mut N_Vector,
yyn: *mut N_Vector,
ypn: *mut N_Vector,
res: *mut N_Vector,
cj: *mut realtype,
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: realtype,
c_jB: realtype,
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: realtype,
c_jB: realtype,
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: realtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
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: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSolveFnB = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
rvecB: N_Vector,
zvecB: N_Vector,
c_jB: realtype,
deltaB: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsPrecSolveFnBS = ::std::option::Option<
unsafe extern "C" fn(
tt: realtype,
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: realtype,
deltaB: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesSetupFnB = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
c_jB: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesSetupFnBS = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
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: realtype,
user_dataB: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type IDALsJacTimesVecFnB = ::std::option::Option<
unsafe extern "C" fn(
t: realtype,
yy: N_Vector,
yp: N_Vector,
yyB: N_Vector,
ypB: N_Vector,
rrB: N_Vector,
vB: N_Vector,
JvB: N_Vector,
c_jB: realtype,
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: realtype,
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: realtype,
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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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 realtype,
yySpred: *mut *mut N_Vector,
ypSpred: *mut *mut N_Vector,
yySn: *mut *mut N_Vector,
ypSn: *mut *mut N_Vector,
cj: *mut realtype,
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: realtype,
abstolQ: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQ: realtype,
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 realtype,
yQout: N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadDky(
ida_mem: *mut ::std::os::raw::c_void,
t: realtype,
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: realtype,
abstolS: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDASensSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolS: realtype,
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: realtype,
) -> ::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 realtype,
pbar: *mut realtype,
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 realtype,
yySout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetSens1(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut realtype,
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: realtype,
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: realtype,
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: realtype,
abstolQS: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAQuadSensSVtolerances(
ida_mem: *mut ::std::os::raw::c_void,
reltolQS: realtype,
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 realtype,
yyQSout: *mut N_Vector,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn IDAGetQuadSens1(
ida_mem: *mut ::std::os::raw::c_void,
tret: *mut realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
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: realtype,
absTolB: realtype,
) -> ::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: realtype,
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: realtype,
abstolQB: realtype,
) -> ::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: realtype,
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: realtype,
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: realtype,
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: realtype,
tret: *mut realtype,
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: realtype,
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: realtype,
) -> ::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: realtype,
) -> ::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 realtype,
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 realtype,
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: realtype,
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: realtype,
pub t1: realtype,
pub nstep: ::std::os::raw::c_long,
pub order: ::std::os::raw::c_int,
pub step: realtype,
}
#[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>(),
40usize,
concat!("Size of: ", stringify!(IDAadjCheckPointRec))
);
assert_eq!(
::std::mem::align_of::<IDAadjCheckPointRec>(),
4usize,
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 },
4usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(next_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t0) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(t0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).t1) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(t1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nstep) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(nstep)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(IDAadjCheckPointRec),
"::",
stringify!(order)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
32usize,
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 realtype,
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 realtype,
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 KINErrHandlerFn = ::std::option::Option<
unsafe extern "C" fn(
error_code: ::std::os::raw::c_int,
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,
),
>;
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: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetEtaParams(
kinmem: *mut ::std::os::raw::c_void,
egamma: realtype,
ealpha: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetResMonParams(
kinmem: *mut ::std::os::raw::c_void,
omegamin: realtype,
omegamax: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetResMonConstValue(
kinmem: *mut ::std::os::raw::c_void,
omegaconst: realtype,
) -> ::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: realtype,
) -> ::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: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetFuncNormTol(
kinmem: *mut ::std::os::raw::c_void,
fnormtol: realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetScaledStepTol(
kinmem: *mut ::std::os::raw::c_void,
scsteptol: realtype,
) -> ::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 KINSetErrHandlerFn(
kinmem: *mut ::std::os::raw::c_void,
ehfun: KINErrHandlerFn,
eh_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetErrFile(
kinmem: *mut ::std::os::raw::c_void,
errfp: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetInfoHandlerFn(
kinmem: *mut ::std::os::raw::c_void,
ihfun: KINInfoHandlerFn,
ih_data: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetInfoFile(
kinmem: *mut ::std::os::raw::c_void,
infofp: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetPrintLevel(
kinmem: *mut ::std::os::raw::c_void,
printfl: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINSetDebugFile(
kinmem: *mut ::std::os::raw::c_void,
debugfp: *mut FILE,
) -> ::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 realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINGetStepLength(
kinmem: *mut ::std::os::raw::c_void,
steplength: *mut realtype,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINGetUserData(
kinmem: *mut ::std::os::raw::c_void,
user_data: *mut *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINPrintAllStats(
kinmem: *mut ::std::os::raw::c_void,
outfile: *mut FILE,
fmt: SUNOutputFormat,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn KINGetReturnFlagName(flag: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn KINFree(kinmem: *mut *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn KINSetJacTimesVecSysFn(
kinmem: *mut ::std::os::raw::c_void,
jtimesSysFn: KINSysFn,
) -> ::std::os::raw::c_int;
}
pub type __builtin_va_list = *mut ::std::os::raw::c_char;