1
2
3
/* automatically generated by rust-bindgen */

pub const _STDIO_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; 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 __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 _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 27 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; 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_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const ____FILE_defined : u32 = 1 ; pub const __FILE_defined : u32 = 1 ; pub const _BITS_LIBIO_H : u32 = 1 ; pub const _BITS_G_CONFIG_H : u32 = 1 ; pub const ____mbstate_t_defined : u32 = 1 ; pub const _G_HAVE_MMAP : u32 = 1 ; pub const _G_HAVE_MREMAP : u32 = 1 ; pub const _G_IO_IO_FILE_VERSION : u32 = 131073 ; pub const _G_BUFSIZ : u32 = 8192 ; pub const _IO_BUFSIZ : u32 = 8192 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _IO_UNIFIED_JUMPTABLES : u32 = 1 ; pub const EOF : i32 = -1 ; pub const _IOS_INPUT : u32 = 1 ; pub const _IOS_OUTPUT : u32 = 2 ; pub const _IOS_ATEND : u32 = 4 ; pub const _IOS_APPEND : u32 = 8 ; pub const _IOS_TRUNC : u32 = 16 ; pub const _IOS_NOCREATE : u32 = 32 ; pub const _IOS_NOREPLACE : u32 = 64 ; pub const _IOS_BIN : u32 = 128 ; pub const _IO_MAGIC : u32 = 4222418944 ; pub const _OLD_STDIO_MAGIC : u32 = 4206624768 ; pub const _IO_MAGIC_MASK : u32 = 4294901760 ; pub const _IO_USER_BUF : u32 = 1 ; pub const _IO_UNBUFFERED : u32 = 2 ; pub const _IO_NO_READS : u32 = 4 ; pub const _IO_NO_WRITES : u32 = 8 ; pub const _IO_EOF_SEEN : u32 = 16 ; pub const _IO_ERR_SEEN : u32 = 32 ; pub const _IO_DELETE_DONT_CLOSE : u32 = 64 ; pub const _IO_LINKED : u32 = 128 ; pub const _IO_IN_BACKUP : u32 = 256 ; pub const _IO_LINE_BUF : u32 = 512 ; pub const _IO_TIED_PUT_GET : u32 = 1024 ; pub const _IO_CURRENTLY_PUTTING : u32 = 2048 ; pub const _IO_IS_APPENDING : u32 = 4096 ; pub const _IO_IS_FILEBUF : u32 = 8192 ; pub const _IO_BAD_SEEN : u32 = 16384 ; pub const _IO_USER_LOCK : u32 = 32768 ; pub const _IO_FLAGS2_MMAP : u32 = 1 ; pub const _IO_FLAGS2_NOTCANCEL : u32 = 2 ; pub const _IO_FLAGS2_USER_WBUF : u32 = 8 ; pub const _IO_SKIPWS : u32 = 1 ; pub const _IO_LEFT : u32 = 2 ; pub const _IO_RIGHT : u32 = 4 ; pub const _IO_INTERNAL : u32 = 8 ; pub const _IO_DEC : u32 = 16 ; pub const _IO_OCT : u32 = 32 ; pub const _IO_HEX : u32 = 64 ; pub const _IO_SHOWBASE : u32 = 128 ; pub const _IO_SHOWPOINT : u32 = 256 ; pub const _IO_UPPERCASE : u32 = 512 ; pub const _IO_SHOWPOS : u32 = 1024 ; pub const _IO_SCIENTIFIC : u32 = 2048 ; pub const _IO_FIXED : u32 = 4096 ; pub const _IO_UNITBUF : u32 = 8192 ; pub const _IO_STDIO : u32 = 16384 ; pub const _IO_DONT_CLOSE : u32 = 32768 ; pub const _IO_BOOLALPHA : u32 = 65536 ; pub const _IOFBF : u32 = 0 ; pub const _IOLBF : u32 = 1 ; pub const _IONBF : u32 = 2 ; pub const BUFSIZ : u32 = 8192 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const P_tmpdir : & 'static [ u8 ; 5usize ] = 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 SUNDIALS_VERSION : & 'static [ u8 ; 6usize ] = b"4.0.1\0" ; pub const SUNDIALS_VERSION_MAJOR : u32 = 4 ; pub const SUNDIALS_VERSION_MINOR : u32 = 0 ; pub const SUNDIALS_VERSION_PATCH : u32 = 1 ; pub const SUNDIALS_VERSION_LABEL : & 'static [ u8 ; 1usize ] = b"\0" ; pub const SUNDIALS_DOUBLE_PRECISION : u32 = 1 ; pub const SUNDIALS_INT64_T : u32 = 1 ; pub const SUNDIALS_MPI_COMM_F2C : u32 = 0 ; pub const _STDINT_H : u32 = 1 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = -128 ; pub const INT16_MIN : i32 = -32768 ; pub const INT32_MIN : i32 = -2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = -128 ; pub const INT_LEAST16_MIN : i32 = -32768 ; pub const INT_LEAST32_MIN : i32 = -2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = -128 ; pub const INT_FAST16_MIN : i64 = -9223372036854775808 ; pub const INT_FAST32_MIN : i64 = -9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = -1 ; pub const UINT_FAST32_MAX : i32 = -1 ; pub const INTPTR_MIN : i64 = -9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = -1 ; pub const PTRDIFF_MIN : i64 = -9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = -2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = -1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const SUNFALSE : u32 = 0 ; pub const SUNTRUE : u32 = 1 ; pub const SUNLS_SUCCESS : u32 = 0 ; pub const SUNLS_MEM_NULL : i32 = -1 ; pub const SUNLS_ILL_INPUT : i32 = -2 ; pub const SUNLS_MEM_FAIL : i32 = -3 ; pub const SUNLS_ATIMES_FAIL_UNREC : i32 = -4 ; pub const SUNLS_PSET_FAIL_UNREC : i32 = -5 ; pub const SUNLS_PSOLVE_FAIL_UNREC : i32 = -6 ; pub const SUNLS_PACKAGE_FAIL_UNREC : i32 = -7 ; pub const SUNLS_GS_FAIL : i32 = -8 ; pub const SUNLS_QRSOL_FAIL : i32 = -9 ; pub const SUNLS_VECTOROP_ERR : i32 = -10 ; pub const SUNLS_RES_REDUCED : u32 = 1 ; pub const SUNLS_CONV_FAIL : u32 = 2 ; pub const SUNLS_ATIMES_FAIL_REC : u32 = 3 ; pub const SUNLS_PSET_FAIL_REC : u32 = 4 ; pub const SUNLS_PSOLVE_FAIL_REC : u32 = 5 ; pub const SUNLS_PACKAGE_FAIL_REC : u32 = 6 ; pub const SUNLS_QRFACT_FAIL : u32 = 7 ; pub const SUNLS_LUFACT_FAIL : u32 = 8 ; pub const SUNDIALS_DENSE : u32 = 1 ; pub const SUNDIALS_BAND : u32 = 2 ; pub const SPBCG_SUCCESS : u32 = 0 ; pub const SPBCG_RES_REDUCED : u32 = 1 ; pub const SPBCG_CONV_FAIL : u32 = 2 ; pub const SPBCG_PSOLVE_FAIL_REC : u32 = 3 ; pub const SPBCG_ATIMES_FAIL_REC : u32 = 4 ; pub const SPBCG_PSET_FAIL_REC : u32 = 5 ; pub const SPBCG_MEM_NULL : i32 = -1 ; pub const SPBCG_ATIMES_FAIL_UNREC : i32 = -2 ; pub const SPBCG_PSOLVE_FAIL_UNREC : i32 = -3 ; pub const SPBCG_PSET_FAIL_UNREC : i32 = -4 ; pub const SUNSPBCGS_MAXL_DEFAULT : u32 = 5 ; pub const SPGMR_SUCCESS : u32 = 0 ; pub const SPGMR_RES_REDUCED : u32 = 1 ; pub const SPGMR_CONV_FAIL : u32 = 2 ; pub const SPGMR_QRFACT_FAIL : u32 = 3 ; pub const SPGMR_PSOLVE_FAIL_REC : u32 = 4 ; pub const SPGMR_ATIMES_FAIL_REC : u32 = 5 ; pub const SPGMR_PSET_FAIL_REC : u32 = 6 ; pub const SPGMR_MEM_NULL : i32 = -1 ; pub const SPGMR_ATIMES_FAIL_UNREC : i32 = -2 ; pub const SPGMR_PSOLVE_FAIL_UNREC : i32 = -3 ; pub const SPGMR_GS_FAIL : i32 = -4 ; pub const SPGMR_QRSOL_FAIL : i32 = -5 ; pub const SPGMR_PSET_FAIL_UNREC : i32 = -6 ; pub const SUNSPGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPGMR_MAXRS_DEFAULT : u32 = 0 ; pub const PCG_SUCCESS : u32 = 0 ; pub const PCG_RES_REDUCED : u32 = 1 ; pub const PCG_CONV_FAIL : u32 = 2 ; pub const PCG_PSOLVE_FAIL_REC : u32 = 3 ; pub const PCG_ATIMES_FAIL_REC : u32 = 4 ; pub const PCG_PSET_FAIL_REC : u32 = 5 ; pub const PCG_MEM_NULL : i32 = -1 ; pub const PCG_ATIMES_FAIL_UNREC : i32 = -2 ; pub const PCG_PSOLVE_FAIL_UNREC : i32 = -3 ; pub const PCG_PSET_FAIL_UNREC : i32 = -4 ; pub const SUNPCG_MAXL_DEFAULT : u32 = 5 ; pub const SPFGMR_SUCCESS : u32 = 0 ; pub const SPFGMR_RES_REDUCED : u32 = 1 ; pub const SPFGMR_CONV_FAIL : u32 = 2 ; pub const SPFGMR_QRFACT_FAIL : u32 = 3 ; pub const SPFGMR_PSOLVE_FAIL_REC : u32 = 4 ; pub const SPFGMR_ATIMES_FAIL_REC : u32 = 5 ; pub const SPFGMR_PSET_FAIL_REC : u32 = 6 ; pub const SPFGMR_MEM_NULL : i32 = -1 ; pub const SPFGMR_ATIMES_FAIL_UNREC : i32 = -2 ; pub const SPFGMR_PSOLVE_FAIL_UNREC : i32 = -3 ; pub const SPFGMR_GS_FAIL : i32 = -4 ; pub const SPFGMR_QRSOL_FAIL : i32 = -5 ; pub const SPFGMR_PSET_FAIL_UNREC : i32 = -6 ; pub const SUNSPFGMR_MAXL_DEFAULT : u32 = 5 ; pub const SUNSPFGMR_MAXRS_DEFAULT : u32 = 0 ; pub const SPTFQMR_SUCCESS : u32 = 0 ; pub const SPTFQMR_RES_REDUCED : u32 = 1 ; pub const SPTFQMR_CONV_FAIL : u32 = 2 ; pub const SPTFQMR_PSOLVE_FAIL_REC : u32 = 3 ; pub const SPTFQMR_ATIMES_FAIL_REC : u32 = 4 ; pub const SPTFQMR_PSET_FAIL_REC : u32 = 5 ; pub const SPTFQMR_MEM_NULL : i32 = -1 ; pub const SPTFQMR_ATIMES_FAIL_UNREC : i32 = -2 ; pub const SPTFQMR_PSOLVE_FAIL_UNREC : i32 = -3 ; pub const SPTFQMR_PSET_FAIL_UNREC : i32 = -4 ; 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 = 1 ; pub const SUN_NLS_CONV_RECVR : :: std :: os :: raw :: c_int = 2 ; pub const SUN_NLS_MEM_NULL : :: std :: os :: raw :: c_int = -1 ; pub const SUN_NLS_MEM_FAIL : :: std :: os :: raw :: c_int = -2 ; pub const SUN_NLS_ILL_INPUT : :: std :: os :: raw :: c_int = -3 ; pub const SUN_NLS_VECTOROP_ERR : :: std :: os :: raw :: c_int = -4 ; pub const CVLS_SUCCESS : u32 = 0 ; pub const CVLS_MEM_NULL : i32 = -1 ; pub const CVLS_LMEM_NULL : i32 = -2 ; pub const CVLS_ILL_INPUT : i32 = -3 ; pub const CVLS_MEM_FAIL : i32 = -4 ; pub const CVLS_PMEM_NULL : i32 = -5 ; pub const CVLS_JACFUNC_UNRECVR : i32 = -6 ; pub const CVLS_JACFUNC_RECVR : i32 = -7 ; pub const CVLS_SUNMAT_FAIL : i32 = -8 ; pub const CVLS_SUNLS_FAIL : i32 = -9 ; pub const CV_ADAMS : :: std :: os :: raw :: c_int = 1 ; pub const CV_BDF : :: std :: os :: raw :: c_int = 2 ; pub const CV_NORMAL : :: std :: os :: raw :: c_int = 1 ; pub const CV_ONE_STEP : :: std :: os :: raw :: c_int = 2 ; pub const CV_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const CV_TSTOP_RETURN : :: std :: os :: raw :: c_int = 1 ; pub const CV_ROOT_RETURN : :: std :: os :: raw :: c_int = 2 ; pub const CV_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const CV_TOO_MUCH_WORK : :: std :: os :: raw :: c_int = -1 ; pub const CV_TOO_MUCH_ACC : :: std :: os :: raw :: c_int = -2 ; pub const CV_ERR_FAILURE : :: std :: os :: raw :: c_int = -3 ; pub const CV_CONV_FAILURE : :: std :: os :: raw :: c_int = -4 ; pub const CV_LINIT_FAIL : :: std :: os :: raw :: c_int = -5 ; pub const CV_LSETUP_FAIL : :: std :: os :: raw :: c_int = -6 ; pub const CV_LSOLVE_FAIL : :: std :: os :: raw :: c_int = -7 ; pub const CV_RHSFUNC_FAIL : :: std :: os :: raw :: c_int = -8 ; pub const CV_FIRST_RHSFUNC_ERR : :: std :: os :: raw :: c_int = -9 ; pub const CV_REPTD_RHSFUNC_ERR : :: std :: os :: raw :: c_int = -10 ; pub const CV_UNREC_RHSFUNC_ERR : :: std :: os :: raw :: c_int = -11 ; pub const CV_RTFUNC_FAIL : :: std :: os :: raw :: c_int = -12 ; pub const CV_NLS_INIT_FAIL : :: std :: os :: raw :: c_int = -13 ; pub const CV_NLS_SETUP_FAIL : :: std :: os :: raw :: c_int = -14 ; pub const CV_CONSTR_FAIL : :: std :: os :: raw :: c_int = -15 ; pub const CV_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 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_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_UNRECOGNIZED_ERROR : :: std :: os :: raw :: c_int = -99 ; pub const KINLS_SUCCESS : u32 = 0 ; pub const KINLS_MEM_NULL : i32 = -1 ; pub const KINLS_LMEM_NULL : i32 = -2 ; pub const KINLS_ILL_INPUT : i32 = -3 ; pub const KINLS_MEM_FAIL : i32 = -4 ; pub const KINLS_PMEM_NULL : i32 = -5 ; pub const KINLS_JACFUNC_ERR : i32 = -6 ; pub const KINLS_SUNMAT_FAIL : i32 = -7 ; pub const KINLS_SUNLS_FAIL : i32 = -8 ; pub const KIN_SUCCESS : :: std :: os :: raw :: c_int = 0 ; pub const KIN_INITIAL_GUESS_OK : :: std :: os :: raw :: c_int = 1 ; pub const KIN_STEP_LT_STPTOL : :: std :: os :: raw :: c_int = 2 ; pub const KIN_WARNING : :: std :: os :: raw :: c_int = 99 ; pub const KIN_MEM_NULL : :: std :: os :: raw :: c_int = -1 ; pub const KIN_ILL_INPUT : :: std :: os :: raw :: c_int = -2 ; pub const KIN_NO_MALLOC : :: std :: os :: raw :: c_int = -3 ; pub const KIN_MEM_FAIL : :: std :: os :: raw :: c_int = -4 ; pub const KIN_LINESEARCH_NONCONV : :: std :: os :: raw :: c_int = -5 ; pub const KIN_MAXITER_REACHED : :: std :: os :: raw :: c_int = -6 ; pub const KIN_MXNEWT_5X_EXCEEDED : :: std :: os :: raw :: c_int = -7 ; pub const KIN_LINESEARCH_BCFAIL : :: std :: os :: raw :: c_int = -8 ; pub const KIN_LINSOLV_NO_RECOVERY : :: std :: os :: raw :: c_int = -9 ; pub const KIN_LINIT_FAIL : :: std :: os :: raw :: c_int = -10 ; pub const KIN_LSETUP_FAIL : :: std :: os :: raw :: c_int = -11 ; pub const KIN_LSOLVE_FAIL : :: std :: os :: raw :: c_int = -12 ; pub const KIN_SYSFUNC_FAIL : :: std :: os :: raw :: c_int = -13 ; pub const KIN_FIRST_SYSFUNC_ERR : :: std :: os :: raw :: c_int = -14 ; pub const KIN_REPTD_SYSFUNC_ERR : :: std :: os :: raw :: c_int = -15 ; pub const KIN_VECTOROP_ERR : :: std :: os :: raw :: c_int = -16 ; pub const KIN_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 __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { 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 :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type __FILE = _IO_FILE ; pub type FILE = _IO_FILE ; # [ 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 ] , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout___mbstate_t__bindgen_ty_1 ( ) { 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 :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wch as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wch ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t__bindgen_ty_1 > ( ) ) ) . __wchb as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wchb ) ) ) ; } # [ test ] fn bindgen_test_layout___mbstate_t ( ) { 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 :: null :: < __mbstate_t > ( ) ) ) . __count as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __mbstate_t ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __mbstate_t > ( ) ) ) . __value as * const _ 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos_t ) , "::" , stringify ! ( __state ) ) ) ; } # [ 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _G_fpos64_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _G_fpos64_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _G_fpos64_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __pos as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __pos ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _G_fpos64_t > ( ) ) ) . __state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _G_fpos64_t ) , "::" , stringify ! ( __state ) ) ) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_jump_t { _unused : [ u8 ; 0 ] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_marker { pub _next : * mut _IO_marker , pub _sbuf : * mut _IO_FILE , pub _pos : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout__IO_marker ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_marker > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_marker > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _sbuf as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _sbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _pos as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _pos ) ) ) ; } pub const __codecvt_result___codecvt_ok : __codecvt_result = 0 ; pub const __codecvt_result___codecvt_partial : __codecvt_result = 1 ; pub const __codecvt_result___codecvt_error : __codecvt_result = 2 ; pub const __codecvt_result___codecvt_noconv : __codecvt_result = 3 ; pub type __codecvt_result = u32 ; # [ 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 __pad1 : * mut :: std :: os :: raw :: c_void , pub __pad2 : * mut :: std :: os :: raw :: c_void , pub __pad3 : * mut :: std :: os :: raw :: c_void , pub __pad4 : * mut :: std :: os :: raw :: c_void , pub __pad5 : usize , pub _mode : :: std :: os :: raw :: c_int , pub _unused2 : [ :: std :: os :: raw :: c_char ; 20usize ] , } # [ test ] fn bindgen_test_layout__IO_FILE ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_FILE > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_FILE > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_end as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_base as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_base as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_ptr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_end as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_base as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_end as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_base as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_backup_base as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_backup_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_end as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _markers as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _markers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _chain as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _chain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _fileno as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _fileno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags2 as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _old_offset as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _old_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _cur_column as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _cur_column ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _vtable_offset as * const _ as usize } , 130usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _vtable_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _shortbuf as * const _ as usize } , 131usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _shortbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _lock as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _offset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad1 as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad2 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad3 as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad4 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad5 as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _mode as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _unused2 as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _unused2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_FILE_plus { _unused : [ u8 ; 0 ] , } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdin_" ] pub static mut _IO_2_1_stdin_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stdout_" ] pub static mut _IO_2_1_stdout_ : _IO_FILE_plus ; } extern "C" { # [ link_name = "\u{1}_IO_2_1_stderr_" ] pub static mut _IO_2_1_stderr_ : _IO_FILE_plus ; } pub type __io_read_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __buf : * mut :: std :: os :: raw :: c_char , __nbytes : usize ) -> __ssize_t > ; pub type __io_write_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __buf : * const :: std :: os :: raw :: c_char , __n : usize ) -> __ssize_t > ; pub type __io_seek_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void , __pos : * mut __off64_t , __w : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; pub type __io_close_fn = :: std :: option :: Option < unsafe extern "C" fn ( __cookie : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn __underflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __uflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __overflow ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_getc ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_putc ( __c : :: std :: os :: raw :: c_int , __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_feof ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_ferror ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_peekc_locked ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_flockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_funlockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { pub fn _IO_ftrylockfile ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfscanf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag , arg4 : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_vfprintf ( arg1 : * mut _IO_FILE , arg2 : * const :: std :: os :: raw :: c_char , arg3 : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn _IO_padn ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int , arg3 : __ssize_t ) -> __ssize_t ; } extern "C" { pub fn _IO_sgetn ( arg1 : * mut _IO_FILE , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : usize ) -> usize ; } extern "C" { pub fn _IO_seekoff ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int , arg4 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_seekpos ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { pub fn _IO_free_backup_area ( arg1 : * mut _IO_FILE ) ; } pub type off_t = __off_t ; pub type fpos_t = _G_fpos_t ; extern "C" { # [ link_name = "\u{1}stdin" ] pub static mut stdin : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stdout" ] pub static mut stdout : * mut _IO_FILE ; } extern "C" { # [ link_name = "\u{1}stderr" ] pub static mut stderr : * mut _IO_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 tmpfile ( ) -> * mut FILE ; } extern "C" { pub fn tmpnam ( __s : * 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 fclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fflush_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn freopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> * mut FILE ; } extern "C" { pub fn fdopen ( __fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn fmemopen ( __s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn open_memstream ( __bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize ) -> * mut FILE ; } extern "C" { pub fn setbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn setvbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __modes : :: std :: os :: raw :: c_int , __n : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn setbuffer ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize ) ; } extern "C" { pub fn setlinebuf ( __stream : * mut FILE ) ; } extern "C" { pub fn fprintf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn printf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sprintf ( __s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfprintf ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vprintf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsprintf ( __s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn snprintf ( __s : * mut :: std :: os :: raw :: c_char , __maxlen : usize , __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 : usize , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vdprintf ( __fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dprintf ( __fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fscanf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scanf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sscanf ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_fscanf" ] pub fn fscanf1 ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_scanf" ] pub fn scanf1 ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_sscanf" ] pub fn sscanf1 ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vfscanf ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vscanf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn vsscanf ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vfscanf" ] pub fn vfscanf1 ( __s : * mut FILE , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vscanf" ] pub fn vscanf1 ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__isoc99_vsscanf" ] pub fn vsscanf1 ( __s : * const :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getchar_unlocked ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgetc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fputc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putchar_unlocked ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn getw ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn putw ( __w : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fgets ( __s : * mut :: std :: os :: raw :: c_char , __n : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn __getdelim ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn getdelim ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __delimiter : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn getline ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { pub fn fputs ( __s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn puts ( __s : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ungetc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn fread ( __ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { pub fn fwrite ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __s : * mut FILE ) -> usize ; } 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" { # [ link_name = "\u{1}sys_nerr" ] pub static mut sys_nerr : :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}sys_errlist" ] pub static mut sys_errlist : [ * const :: std :: os :: raw :: c_char ; 0usize ] ; } 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 popen ( __command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { pub fn pclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } 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 ) ; } pub type int_least8_t = :: std :: os :: raw :: c_schar ; pub type int_least16_t = :: std :: os :: raw :: c_short ; pub type int_least32_t = :: std :: os :: raw :: c_int ; pub type int_least64_t = :: std :: os :: raw :: c_long ; pub type uint_least8_t = :: std :: os :: raw :: c_uchar ; pub type uint_least16_t = :: std :: os :: raw :: c_ushort ; pub type uint_least32_t = :: std :: os :: raw :: c_uint ; pub type uint_least64_t = :: std :: os :: raw :: c_ulong ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type realtype = f64 ; pub type sunindextype = i64 ; 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_RAJA : N_Vector_ID = 7 ; pub const N_Vector_ID_SUNDIALS_NVEC_OPENMPDEV : N_Vector_ID = 8 ; pub const N_Vector_ID_SUNDIALS_NVEC_CUSTOM : N_Vector_ID = 9 ; pub type N_Vector_ID = u32 ; 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 nvsetarraypointer : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut realtype , arg2 : N_Vector ) > , 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 > , } # [ test ] fn bindgen_test_layout__generic_N_Vector_Ops ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_N_Vector_Ops > ( ) , 288usize , concat ! ( "Size of: " , stringify ! ( _generic_N_Vector_Ops ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_N_Vector_Ops > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_N_Vector_Ops ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvgetvectorid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvgetvectorid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvclone as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvclone ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvcloneempty as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvcloneempty ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvdestroy as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvdestroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvspace as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvspace ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvgetarraypointer as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvgetarraypointer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvsetarraypointer as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvsetarraypointer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvlinearsum as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvlinearsum ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvconst as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvconst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvprod as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvprod ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvdiv as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvdiv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvscale as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvscale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvabs as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvabs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvinv as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvinv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvaddconst as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvaddconst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvdotprod as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvdotprod ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvmaxnorm as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvmaxnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvwrmsnorm as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvwrmsnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvwrmsnormmask as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvwrmsnormmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvmin as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvmin ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvwl2norm as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvwl2norm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvl1norm as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvl1norm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvcompare as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvcompare ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvinvtest as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvinvtest ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvconstrmask as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvconstrmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvminquotient as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvminquotient ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvlinearcombination as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvlinearcombination ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvscaleaddmulti as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvscaleaddmulti ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvdotprodmulti as * const _ as usize } , 224usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvdotprodmulti ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvlinearsumvectorarray as * const _ as usize } , 232usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvlinearsumvectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvscalevectorarray as * const _ as usize } , 240usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvscalevectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvconstvectorarray as * const _ as usize } , 248usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvconstvectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvwrmsnormvectorarray as * const _ as usize } , 256usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvwrmsnormvectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvwrmsnormmaskvectorarray as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvwrmsnormmaskvectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvscaleaddmultivectorarray as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvscaleaddmultivectorarray ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector_Ops > ( ) ) ) . nvlinearcombinationvectorarray as * const _ as usize } , 280usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector_Ops ) , "::" , stringify ! ( nvlinearcombinationvectorarray ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _generic_N_Vector { pub content : * mut :: std :: os :: raw :: c_void , pub ops : * mut _generic_N_Vector_Ops , } # [ test ] fn bindgen_test_layout__generic_N_Vector ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_N_Vector > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _generic_N_Vector ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_N_Vector > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_N_Vector ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector > ( ) ) ) . content as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector ) , "::" , stringify ! ( content ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_N_Vector > ( ) ) ) . ops as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_N_Vector ) , "::" , stringify ! ( ops ) ) ) ; } 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_VSetArrayPointer ( v_data : * mut realtype , v : N_Vector ) ; } 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_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 ) ; } # [ 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _N_VectorContent_Serial > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _N_VectorContent_Serial ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _N_VectorContent_Serial > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _N_VectorContent_Serial ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _N_VectorContent_Serial > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _N_VectorContent_Serial ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _N_VectorContent_Serial > ( ) ) ) . own_data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _N_VectorContent_Serial ) , "::" , stringify ! ( own_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _N_VectorContent_Serial > ( ) ) ) . data as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _N_VectorContent_Serial ) , "::" , stringify ! ( data ) ) ) ; } pub type N_VectorContent_Serial = * mut _N_VectorContent_Serial ; extern "C" { pub fn N_VNew_Serial ( vec_length : sunindextype ) -> N_Vector ; } extern "C" { pub fn N_VNewEmpty_Serial ( vec_length : sunindextype ) -> N_Vector ; } extern "C" { pub fn N_VMake_Serial ( vec_length : sunindextype , v_data : * mut realtype ) -> N_Vector ; } 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 ) ; } 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_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 ; } 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 = u32 ; pub const MODIFIED_GS : _bindgen_ty_2 = 1 ; pub const CLASSICAL_GS : _bindgen_ty_2 = 2 ; pub type _bindgen_ty_2 = u32 ; 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 PSetupFn = :: 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 > ; 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 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 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 QRsol ( n : :: std :: os :: raw :: c_int , h : * mut * mut realtype , q : * mut realtype , b : * mut realtype ) -> :: std :: os :: raw :: c_int ; } pub const SUNMatrix_ID_SUNMATRIX_DENSE : SUNMatrix_ID = 0 ; pub const SUNMatrix_ID_SUNMATRIX_BAND : SUNMatrix_ID = 1 ; pub const SUNMatrix_ID_SUNMATRIX_SPARSE : SUNMatrix_ID = 2 ; pub const SUNMatrix_ID_SUNMATRIX_CUSTOM : SUNMatrix_ID = 3 ; pub type SUNMatrix_ID = u32 ; 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 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNMatrix_Ops > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNMatrix_Ops ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNMatrix_Ops > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNMatrix_Ops ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . getid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( getid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . clone as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( clone ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . destroy as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( destroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . zero as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( zero ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . copy as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( copy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . scaleadd as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( scaleadd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . scaleaddi as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( scaleaddi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . matvec as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix_Ops ) , "::" , stringify ! ( matvec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix_Ops > ( ) ) ) . space as * const _ as usize } , 64usize , 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 : * mut _generic_SUNMatrix_Ops , } # [ test ] fn bindgen_test_layout__generic_SUNMatrix ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNMatrix > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNMatrix ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNMatrix > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNMatrix ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix > ( ) ) ) . content as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix ) , "::" , stringify ! ( content ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNMatrix > ( ) ) ) . ops as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNMatrix ) , "::" , stringify ! ( ops ) ) ) ; } 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 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 type SUNLinearSolver_Type = u32 ; 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 setatimes : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : ATimesFn ) -> :: std :: os :: raw :: c_int > , pub setpreconditioner : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : SUNLinearSolver , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : PSetupFn , arg4 : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long > , 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNLinearSolver_Ops > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNLinearSolver_Ops ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNLinearSolver_Ops > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNLinearSolver_Ops ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . gettype as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( gettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . setatimes as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( setatimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . setpreconditioner as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( setpreconditioner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . setscalingvectors as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( setscalingvectors ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . initialize as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( initialize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . setup as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( setup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . solve as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( solve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . numiters as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . resnorm as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . lastflag as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( lastflag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . space as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( space ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . resid as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver_Ops ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver_Ops > ( ) ) ) . free as * const _ as usize } , 96usize , 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 : * mut _generic_SUNLinearSolver_Ops , } # [ test ] fn bindgen_test_layout__generic_SUNLinearSolver ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNLinearSolver > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNLinearSolver ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNLinearSolver > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNLinearSolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver > ( ) ) ) . content as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver ) , "::" , stringify ! ( content ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNLinearSolver > ( ) ) ) . ops as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNLinearSolver ) , "::" , stringify ! ( ops ) ) ) ; } extern "C" { pub fn SUNLinSolGetType ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { pub fn SUNLinSolSetATimes ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _DlsMat > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( _DlsMat ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _DlsMat > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _DlsMat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . M as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( M ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . N as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . ldim as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( ldim ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . mu as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( mu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . ml as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( ml ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . s_mu as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( s_mu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . data as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . ldata as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( ldata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _DlsMat > ( ) ) ) . cols as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _DlsMat ) , "::" , stringify ! ( cols ) ) ) ; } pub type DlsMat = * mut _DlsMat ; extern "C" { pub fn NewDenseMat ( M : sunindextype , N : sunindextype ) -> DlsMat ; } extern "C" { pub fn NewBandMat ( N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) -> DlsMat ; } extern "C" { pub fn DestroyMat ( A : DlsMat ) ; } extern "C" { pub fn NewIntArray ( N : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn NewIndexArray ( N : sunindextype ) -> * mut sunindextype ; } extern "C" { pub fn NewRealArray ( N : sunindextype ) -> * mut realtype ; } extern "C" { pub fn DestroyArray ( p : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn AddIdentity ( A : DlsMat ) ; } extern "C" { pub fn SetToZero ( A : DlsMat ) ; } extern "C" { pub fn PrintMat ( A : DlsMat , outfile : * mut FILE ) ; } extern "C" { pub fn newDenseMat ( m : sunindextype , n : sunindextype ) -> * mut * mut realtype ; } extern "C" { pub fn newBandMat ( n : sunindextype , smu : sunindextype , ml : sunindextype ) -> * mut * mut realtype ; } extern "C" { pub fn destroyMat ( a : * mut * mut realtype ) ; } extern "C" { pub fn newIntArray ( n : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn newIndexArray ( n : sunindextype ) -> * mut sunindextype ; } extern "C" { pub fn newRealArray ( m : sunindextype ) -> * mut realtype ; } extern "C" { pub fn destroyArray ( v : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn BandGBTRF ( A : DlsMat , 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 BandGBTRS ( A : DlsMat , 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 BandCopy ( A : DlsMat , B : DlsMat , 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 BandScale ( c : realtype , A : DlsMat ) ; } extern "C" { pub fn bandScale ( c : realtype , a : * mut * mut realtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) ; } extern "C" { pub fn bandAddIdentity ( a : * mut * mut realtype , n : sunindextype , smu : sunindextype ) ; } extern "C" { pub fn BandMatvec ( A : DlsMat , x : * mut realtype , y : * mut realtype ) ; } 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNMatrixContent_Band > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _SUNMatrixContent_Band ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNMatrixContent_Band > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNMatrixContent_Band ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . M as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( M ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . N as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . ldim as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( ldim ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . mu as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( mu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . ml as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( ml ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . s_mu as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( s_mu ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . data as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . ldata as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( ldata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Band > ( ) ) ) . cols as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Band ) , "::" , stringify ! ( cols ) ) ) ; } pub type SUNMatrixContent_Band = * mut _SUNMatrixContent_Band ; extern "C" { pub fn SUNBandMatrix ( N : sunindextype , mu : sunindextype , ml : sunindextype ) -> SUNMatrix ; } extern "C" { pub fn SUNBandMatrixStorage ( N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) -> 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_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 : :: std :: os :: raw :: c_long , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_Band ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_Band > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_Band ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_Band > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_Band ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Band > ( ) ) ) . N as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Band ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Band > ( ) ) ) . pivots as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Band ) , "::" , stringify ! ( pivots ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Band > ( ) ) ) . last_flag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Band ) , "::" , stringify ! ( last_flag ) ) ) ; } pub type SUNLinearSolverContent_Band = * mut _SUNLinearSolverContent_Band ; extern "C" { pub fn SUNLinSol_Band ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { pub fn SUNBandLinearSolver ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Band ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } 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 ) -> :: std :: os :: raw :: c_long ; } 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 SpbcgMemRec { pub l_max : :: std :: os :: raw :: c_int , pub r_star : N_Vector , pub r : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [ test ] fn bindgen_test_layout_SpbcgMemRec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SpbcgMemRec > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( SpbcgMemRec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SpbcgMemRec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SpbcgMemRec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . l_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( l_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . r_star as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( r_star ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . r as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . p as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . q as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . u as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( u ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . Ap as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( Ap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SpbcgMemRec > ( ) ) ) . vtemp as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SpbcgMemRec ) , "::" , stringify ! ( vtemp ) ) ) ; } pub type SpbcgMem = * mut SpbcgMemRec ; extern "C" { pub fn SpbcgMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpbcgMem ; } extern "C" { pub fn SpbcgSolve ( mem : SpbcgMem , A_data : * mut :: std :: os :: raw :: c_void , x : N_Vector , b : N_Vector , pretype : :: std :: os :: raw :: c_int , delta : realtype , P_data : * mut :: std :: os :: raw :: c_void , sx : N_Vector , sb : N_Vector , atimes : ATimesFn , psolve : PSolveFn , res_norm : * mut realtype , nli : * mut :: std :: os :: raw :: c_int , nps : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SpbcgFree ( mem : SpbcgMem ) ; } # [ 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 numiters : :: std :: os :: raw :: c_int , pub resnorm : realtype , pub last_flag : :: std :: os :: raw :: c_long , pub ATimes : ATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : PSetupFn , pub Psolve : PSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r : N_Vector , pub r_star : N_Vector , pub p : N_Vector , pub q : N_Vector , pub u : N_Vector , pub Ap : N_Vector , pub vtemp : N_Vector , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_SPBCGS ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_SPBCGS > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_SPBCGS > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . maxl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( maxl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . pretype as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( pretype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . numiters as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . resnorm as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . last_flag as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( last_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . ATimes as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( ATimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . ATData as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( ATData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . Psetup as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( Psetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . Psolve as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( Psolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . PData as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( PData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . s1 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( s1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . s2 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( s2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . r as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . r_star as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( r_star ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . p as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . q as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . u as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( u ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . Ap as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( Ap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPBCGS > ( ) ) ) . vtemp as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPBCGS ) , "::" , stringify ! ( vtemp ) ) ) ; } pub type SUNLinearSolverContent_SPBCGS = * mut _SUNLinearSolverContent_SPBCGS ; extern "C" { pub fn SUNLinSol_SPBCGS ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> 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 SUNSPBCGS ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { pub fn SUNSPBCGSSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPBCGSSetMaxl ( 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 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 : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPBCGS ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _SpgmrMemRec { pub l_max : :: std :: os :: raw :: c_int , 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 , } # [ test ] fn bindgen_test_layout__SpgmrMemRec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SpgmrMemRec > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _SpgmrMemRec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SpgmrMemRec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SpgmrMemRec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . l_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( l_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . V as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( V ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . Hes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( Hes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . givens as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( givens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . xcor as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( xcor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . yg as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( yg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpgmrMemRec > ( ) ) ) . vtemp as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SpgmrMemRec ) , "::" , stringify ! ( vtemp ) ) ) ; } pub type SpgmrMemRec = _SpgmrMemRec ; pub type SpgmrMem = * mut _SpgmrMemRec ; extern "C" { pub fn SpgmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpgmrMem ; } extern "C" { pub fn SpgmrSolve ( mem : SpgmrMem , A_data : * mut :: std :: os :: raw :: c_void , x : N_Vector , b : N_Vector , pretype : :: std :: os :: raw :: c_int , gstype : :: std :: os :: raw :: c_int , delta : realtype , max_restarts : :: std :: os :: raw :: c_int , P_data : * mut :: std :: os :: raw :: c_void , s1 : N_Vector , s2 : N_Vector , atimes : ATimesFn , psolve : PSolveFn , res_norm : * mut realtype , nli : * mut :: std :: os :: raw :: c_int , nps : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SpgmrFree ( mem : SpgmrMem ) ; } # [ 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 numiters : :: std :: os :: raw :: c_int , pub resnorm : realtype , pub last_flag : :: std :: os :: raw :: c_long , pub ATimes : ATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : PSetupFn , pub Psolve : PSolveFn , 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 , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_SPGMR ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_SPGMR > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_SPGMR > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_SPGMR ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . maxl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( maxl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . pretype as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( pretype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . gstype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( gstype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . max_restarts as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( max_restarts ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . numiters as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . resnorm as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . last_flag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( last_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . ATimes as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( ATimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . ATData as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( ATData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . Psetup as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( Psetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . Psolve as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( Psolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . PData as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( PData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . s1 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( s1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . s2 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( s2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . V as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( V ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . Hes as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( Hes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . givens as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( givens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . xcor as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( xcor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . yg as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( yg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . vtemp as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( vtemp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . cv as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( cv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPGMR > ( ) ) ) . Xv as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPGMR ) , "::" , stringify ! ( Xv ) ) ) ; } pub type SUNLinearSolverContent_SPGMR = * mut _SUNLinearSolverContent_SPGMR ; extern "C" { pub fn SUNLinSol_SPGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> 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 SUNSPGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { pub fn SUNSPGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPGMRSetMaxRestarts ( 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 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 : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPGMR ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 DenseGETRF ( A : DlsMat , p : * mut sunindextype ) -> sunindextype ; } extern "C" { pub fn DenseGETRS ( A : DlsMat , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { pub fn denseGETRF ( a : * mut * mut realtype , m : sunindextype , n : sunindextype , p : * mut sunindextype ) -> sunindextype ; } extern "C" { pub fn denseGETRS ( a : * mut * mut realtype , n : sunindextype , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { pub fn DensePOTRF ( A : DlsMat ) -> sunindextype ; } extern "C" { pub fn DensePOTRS ( A : DlsMat , b : * mut realtype ) ; } extern "C" { pub fn densePOTRF ( a : * mut * mut realtype , m : sunindextype ) -> sunindextype ; } extern "C" { pub fn densePOTRS ( a : * mut * mut realtype , m : sunindextype , b : * mut realtype ) ; } extern "C" { pub fn DenseGEQRF ( A : DlsMat , beta : * 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 denseGEQRF ( a : * mut * mut realtype , m : sunindextype , n : sunindextype , beta : * 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 DenseCopy ( A : DlsMat , B : DlsMat ) ; } extern "C" { pub fn denseCopy ( a : * mut * mut realtype , b : * mut * mut realtype , m : sunindextype , n : sunindextype ) ; } extern "C" { pub fn DenseScale ( c : realtype , A : DlsMat ) ; } extern "C" { pub fn denseScale ( c : realtype , a : * mut * mut realtype , m : sunindextype , n : sunindextype ) ; } extern "C" { pub fn denseAddIdentity ( a : * mut * mut realtype , n : sunindextype ) ; } extern "C" { pub fn DenseMatvec ( A : DlsMat , x : * mut realtype , y : * mut realtype ) ; } 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNMatrixContent_Dense > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( _SUNMatrixContent_Dense ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNMatrixContent_Dense > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNMatrixContent_Dense ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Dense > ( ) ) ) . M as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Dense ) , "::" , stringify ! ( M ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Dense > ( ) ) ) . N as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Dense ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Dense > ( ) ) ) . data as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Dense ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Dense > ( ) ) ) . ldata as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Dense ) , "::" , stringify ! ( ldata ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Dense > ( ) ) ) . cols as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Dense ) , "::" , stringify ! ( cols ) ) ) ; } pub type SUNMatrixContent_Dense = * mut _SUNMatrixContent_Dense ; extern "C" { pub fn SUNDenseMatrix ( M : sunindextype , N : sunindextype ) -> 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 : :: std :: os :: raw :: c_long , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_Dense ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_Dense > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_Dense ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_Dense > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_Dense ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Dense > ( ) ) ) . N as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Dense ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Dense > ( ) ) ) . pivots as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Dense ) , "::" , stringify ! ( pivots ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_Dense > ( ) ) ) . last_flag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_Dense ) , "::" , stringify ! ( last_flag ) ) ) ; } pub type SUNLinearSolverContent_Dense = * mut _SUNLinearSolverContent_Dense ; extern "C" { pub fn SUNLinSol_Dense ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { pub fn SUNDenseLinearSolver ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { pub fn SUNLinSolGetType_Dense ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } 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 ) -> :: std :: os :: raw :: c_long ; } 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 PcgMemRec { pub l_max : :: std :: os :: raw :: c_int , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [ test ] fn bindgen_test_layout_PcgMemRec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < PcgMemRec > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( PcgMemRec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < PcgMemRec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( PcgMemRec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < PcgMemRec > ( ) ) ) . l_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( PcgMemRec ) , "::" , stringify ! ( l_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < PcgMemRec > ( ) ) ) . r as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( PcgMemRec ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < PcgMemRec > ( ) ) ) . p as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( PcgMemRec ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < PcgMemRec > ( ) ) ) . z as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( PcgMemRec ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < PcgMemRec > ( ) ) ) . Ap as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( PcgMemRec ) , "::" , stringify ! ( Ap ) ) ) ; } pub type PcgMem = * mut PcgMemRec ; extern "C" { pub fn PcgMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> PcgMem ; } extern "C" { pub fn PcgSolve ( mem : PcgMem , A_data : * mut :: std :: os :: raw :: c_void , x : N_Vector , b : N_Vector , pretype : :: std :: os :: raw :: c_int , delta : realtype , P_data : * mut :: std :: os :: raw :: c_void , w : N_Vector , atimes : ATimesFn , psolve : PSolveFn , res_norm : * mut realtype , nli : * mut :: std :: os :: raw :: c_int , nps : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn PcgFree ( mem : PcgMem ) ; } # [ 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 numiters : :: std :: os :: raw :: c_int , pub resnorm : realtype , pub last_flag : :: std :: os :: raw :: c_long , pub ATimes : ATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : PSetupFn , pub Psolve : PSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s : N_Vector , pub r : N_Vector , pub p : N_Vector , pub z : N_Vector , pub Ap : N_Vector , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_PCG ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_PCG > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_PCG ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_PCG > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_PCG ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . maxl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( maxl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . pretype as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( pretype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . numiters as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . resnorm as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . last_flag as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( last_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . ATimes as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( ATimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . ATData as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( ATData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . Psetup as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( Psetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . Psolve as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( Psolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . PData as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( PData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . s as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . r as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . p as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . z as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_PCG > ( ) ) ) . Ap as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_PCG ) , "::" , stringify ! ( Ap ) ) ) ; } pub type SUNLinearSolverContent_PCG = * mut _SUNLinearSolverContent_PCG ; extern "C" { pub fn SUNLinSol_PCG ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> 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 SUNPCG ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { pub fn SUNPCGSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNPCGSetMaxl ( 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 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 : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner_PCG ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _SpfgmrMemRec { pub l_max : :: std :: os :: raw :: c_int , 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 , } # [ test ] fn bindgen_test_layout__SpfgmrMemRec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SpfgmrMemRec > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _SpfgmrMemRec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SpfgmrMemRec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SpfgmrMemRec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . l_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( l_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . V as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( V ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . Z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( Z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . Hes as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( Hes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . givens as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( givens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . xcor as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( xcor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . yg as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( yg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SpfgmrMemRec > ( ) ) ) . vtemp as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SpfgmrMemRec ) , "::" , stringify ! ( vtemp ) ) ) ; } pub type SpfgmrMemRec = _SpfgmrMemRec ; pub type SpfgmrMem = * mut _SpfgmrMemRec ; extern "C" { pub fn SpfgmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpfgmrMem ; } extern "C" { pub fn SpfgmrSolve ( mem : SpfgmrMem , A_data : * mut :: std :: os :: raw :: c_void , x : N_Vector , b : N_Vector , pretype : :: std :: os :: raw :: c_int , gstype : :: std :: os :: raw :: c_int , delta : realtype , max_restarts : :: std :: os :: raw :: c_int , maxit : :: std :: os :: raw :: c_int , P_data : * mut :: std :: os :: raw :: c_void , s1 : N_Vector , s2 : N_Vector , atimes : ATimesFn , psolve : PSolveFn , res_norm : * mut realtype , nli : * mut :: std :: os :: raw :: c_int , nps : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SpfgmrFree ( mem : SpfgmrMem ) ; } # [ 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 numiters : :: std :: os :: raw :: c_int , pub resnorm : realtype , pub last_flag : :: std :: os :: raw :: c_long , pub ATimes : ATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : PSetupFn , pub Psolve : PSolveFn , 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 , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_SPFGMR ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_SPFGMR > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_SPFGMR > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . maxl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( maxl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . pretype as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( pretype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . gstype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( gstype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . max_restarts as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( max_restarts ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . numiters as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . resnorm as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . last_flag as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( last_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . ATimes as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( ATimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . ATData as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( ATData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . Psetup as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( Psetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . Psolve as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( Psolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . PData as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( PData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . s1 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( s1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . s2 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( s2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . V as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( V ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . Z as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( Z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . Hes as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( Hes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . givens as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( givens ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . xcor as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( xcor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . yg as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( yg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . vtemp as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( vtemp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . cv as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( cv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPFGMR > ( ) ) ) . Xv as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPFGMR ) , "::" , stringify ! ( Xv ) ) ) ; } pub type SUNLinearSolverContent_SPFGMR = * mut _SUNLinearSolverContent_SPFGMR ; extern "C" { pub fn SUNLinSol_SPFGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> 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 SUNSPFGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { pub fn SUNSPFGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPFGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPFGMRSetMaxRestarts ( 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 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 : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPFGMR ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SptfqmrMemRec { pub l_max : :: std :: os :: raw :: c_int , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [ test ] fn bindgen_test_layout_SptfqmrMemRec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SptfqmrMemRec > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( SptfqmrMemRec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SptfqmrMemRec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SptfqmrMemRec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . l_max as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( l_max ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . r_star as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( r_star ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . q as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . d as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . v as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . p as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . r as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . u as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( u ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . vtemp1 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( vtemp1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . vtemp2 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( vtemp2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SptfqmrMemRec > ( ) ) ) . vtemp3 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SptfqmrMemRec ) , "::" , stringify ! ( vtemp3 ) ) ) ; } pub type SptfqmrMem = * mut SptfqmrMemRec ; extern "C" { pub fn SptfqmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SptfqmrMem ; } extern "C" { pub fn SptfqmrSolve ( mem : SptfqmrMem , A_data : * mut :: std :: os :: raw :: c_void , x : N_Vector , b : N_Vector , pretype : :: std :: os :: raw :: c_int , delta : realtype , P_data : * mut :: std :: os :: raw :: c_void , sx : N_Vector , sb : N_Vector , atimes : ATimesFn , psolve : PSolveFn , res_norm : * mut realtype , nli : * mut :: std :: os :: raw :: c_int , nps : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SptfqmrFree ( mem : SptfqmrMem ) ; } # [ 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 numiters : :: std :: os :: raw :: c_int , pub resnorm : realtype , pub last_flag : :: std :: os :: raw :: c_long , pub ATimes : ATimesFn , pub ATData : * mut :: std :: os :: raw :: c_void , pub Psetup : PSetupFn , pub Psolve : PSolveFn , pub PData : * mut :: std :: os :: raw :: c_void , pub s1 : N_Vector , pub s2 : N_Vector , pub r_star : N_Vector , pub q : N_Vector , pub d : N_Vector , pub v : N_Vector , pub p : N_Vector , pub r : * mut N_Vector , pub u : N_Vector , pub vtemp1 : N_Vector , pub vtemp2 : N_Vector , pub vtemp3 : N_Vector , } # [ test ] fn bindgen_test_layout__SUNLinearSolverContent_SPTFQMR ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNLinearSolverContent_SPTFQMR > ( ) , 168usize , concat ! ( "Size of: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNLinearSolverContent_SPTFQMR > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . maxl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( maxl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . pretype as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( pretype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . numiters as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( numiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . resnorm as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( resnorm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . last_flag as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( last_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . ATimes as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( ATimes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . ATData as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( ATData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . Psetup as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( Psetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . Psolve as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( Psolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . PData as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( PData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . s1 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( s1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . s2 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( s2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . r_star as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( r_star ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . q as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . d as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . v as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . p as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . r as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . u as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( u ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . vtemp1 as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( vtemp1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . vtemp2 as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( vtemp2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNLinearSolverContent_SPTFQMR > ( ) ) ) . vtemp3 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _SUNLinearSolverContent_SPTFQMR ) , "::" , stringify ! ( vtemp3 ) ) ) ; } pub type SUNLinearSolverContent_SPTFQMR = * mut _SUNLinearSolverContent_SPTFQMR ; extern "C" { pub fn SUNLinSol_SPTFQMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> 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 SUNSPTFQMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { pub fn SUNSPTFQMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNSPTFQMRSetMaxl ( 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 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 : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SUNLinSolSetPreconditioner_SPTFQMR ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: 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 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 ) -> :: std :: os :: raw :: c_long ; } 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 ; } # [ 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNMatrixContent_Sparse > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( _SUNMatrixContent_Sparse ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNMatrixContent_Sparse > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNMatrixContent_Sparse ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . M as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( M ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . N as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . NNZ as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( NNZ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . NP as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( NP ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . data as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . sparsetype as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( sparsetype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . indexvals as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( indexvals ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . indexptrs as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( indexptrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . rowvals as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( rowvals ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . colptrs as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( colptrs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . colvals as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( colvals ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNMatrixContent_Sparse > ( ) ) ) . rowptrs as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNMatrixContent_Sparse ) , "::" , stringify ! ( rowptrs ) ) ) ; } pub type SUNMatrixContent_Sparse = * mut _SUNMatrixContent_Sparse ; extern "C" { pub fn SUNSparseMatrix ( M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int ) -> 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_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 const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_ROOTFIND : SUNNonlinearSolver_Type = 0 ; pub const SUNNonlinearSolver_Type_SUNNONLINEARSOLVER_FIXEDPOINT : SUNNonlinearSolver_Type = 1 ; pub type SUNNonlinearSolver_Type = u32 ; 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 ( y : N_Vector , F : N_Vector , 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 ( y : N_Vector , 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 > ; # [ 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 ) -> :: 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 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNNonlinearSolver_Ops > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNNonlinearSolver_Ops > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . gettype as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( gettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . initialize as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( initialize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setup as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . solve as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( solve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . free as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setsysfn as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setsysfn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setlsetupfn as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setlsetupfn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setlsolvefn as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setlsolvefn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setctestfn as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setctestfn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . setmaxiters as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( setmaxiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . getnumiters as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( getnumiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . getcuriter as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( getcuriter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver_Ops > ( ) ) ) . getnumconvfails as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver_Ops ) , "::" , stringify ! ( getnumconvfails ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _generic_SUNNonlinearSolver { pub content : * mut :: std :: os :: raw :: c_void , pub ops : * mut _generic_SUNNonlinearSolver_Ops , } # [ test ] fn bindgen_test_layout__generic_SUNNonlinearSolver ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _generic_SUNNonlinearSolver > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _generic_SUNNonlinearSolver ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _generic_SUNNonlinearSolver > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _generic_SUNNonlinearSolver ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver > ( ) ) ) . content as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver ) , "::" , stringify ! ( content ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _generic_SUNNonlinearSolver > ( ) ) ) . ops as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _generic_SUNNonlinearSolver ) , "::" , stringify ! ( ops ) ) ) ; } 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 ) -> :: 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 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 , } # [ test ] fn bindgen_test_layout__SUNNonlinearSolverContent_FixedPoint ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNNonlinearSolverContent_FixedPoint > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNNonlinearSolverContent_FixedPoint > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . Sys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( Sys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . CTest as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( CTest ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . m as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( m ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . imap as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( imap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . R as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( R ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . gamma as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( gamma ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . cvals as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( cvals ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . df as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( df ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . dg as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( dg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . q as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . Xvecs as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( Xvecs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . yprev as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( yprev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . gy as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( gy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . fold as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( fold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . gold as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( gold ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . delta as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . curiter as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( curiter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . maxiters as * const _ as usize } , 132usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( maxiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . niters as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( niters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_FixedPoint > ( ) ) ) . nconvfails as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_FixedPoint ) , "::" , stringify ! ( nconvfails ) ) ) ; } pub type SUNNonlinearSolverContent_FixedPoint = * mut _SUNNonlinearSolverContent_FixedPoint ; extern "C" { pub fn SUNNonlinSol_FixedPoint ( y : N_Vector , m : :: std :: os :: raw :: c_int ) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_FixedPointSens ( count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int ) -> 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 ) -> :: 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 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 ; } # [ 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 , } # [ test ] fn bindgen_test_layout__SUNNonlinearSolverContent_Newton ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _SUNNonlinearSolverContent_Newton > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _SUNNonlinearSolverContent_Newton > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _SUNNonlinearSolverContent_Newton ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . Sys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( Sys ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . LSetup as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( LSetup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . LSolve as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( LSolve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . CTest as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( CTest ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . delta as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( delta ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . jcur as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( jcur ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . curiter as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( curiter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . maxiters as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( maxiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . niters as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( niters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _SUNNonlinearSolverContent_Newton > ( ) ) ) . nconvfails as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _SUNNonlinearSolverContent_Newton ) , "::" , stringify ! ( nconvfails ) ) ) ; } pub type SUNNonlinearSolverContent_Newton = * mut _SUNNonlinearSolverContent_Newton ; extern "C" { pub fn SUNNonlinSol_Newton ( y : N_Vector ) -> SUNNonlinearSolver ; } extern "C" { pub fn SUNNonlinSol_NewtonSens ( count : :: std :: os :: raw :: c_int , y : N_Vector ) -> 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 ) -> :: 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 ; } 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 > ; 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 CVodeSetMaxStepsBetweenJac ( cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long ) -> :: 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 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 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 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 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 ) > ; extern "C" { pub fn CVodeCreate ( lmm : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } 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 CVodeSetErrFile ( cvode_mem : * mut :: std :: os :: raw :: c_void , errfp : * mut FILE ) -> :: 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 CVodeSetMaxOrd ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: 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 CVodeSetMaxHnilWarns ( cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int ) -> :: 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 CVodeSetInitStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hin : 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 CVodeSetMaxStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : realtype ) -> :: 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 CVodeSetMaxErrTestFails ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: 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 CVodeSetMaxConvFails ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int ) -> :: 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 CVodeSetConstraints ( cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector ) -> :: 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 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 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 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 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 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 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 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 , nncfails : * 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 , nncfails : * mut :: std :: os :: raw :: c_long ) -> :: 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 CVodeSetNonlinearSolver ( cvode_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver ) -> :: 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 IDASetIncrementFactor ( ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : realtype ) -> :: 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 ( ) -> * mut :: std :: os :: raw :: c_void ; } 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 IDASetStopTime ( ida_mem : * mut :: std :: os :: raw :: c_void , tstop : realtype ) -> :: 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 IDASetMaxErrTestFails ( ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: 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 IDASetMaxConvFails ( ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn IDASetSuppressAlg ( ida_mem : * mut :: std