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_int , 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" { # [ link_name = "\u{1}___underflow" ] pub fn __underflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}___uflow" ] pub fn __uflow ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}___overflow" ] pub fn __overflow ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_getc" ] pub fn _IO_getc ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_putc" ] pub fn _IO_putc ( __c : :: std :: os :: raw :: c_int , __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_feof" ] pub fn _IO_feof ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_ferror" ] pub fn _IO_ferror ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_peekc_locked" ] pub fn _IO_peekc_locked ( __fp : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_flockfile" ] pub fn _IO_flockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { # [ link_name = "\u{1}__IO_funlockfile" ] pub fn _IO_funlockfile ( arg1 : * mut _IO_FILE ) ; } extern "C" { # [ link_name = "\u{1}__IO_ftrylockfile" ] pub fn _IO_ftrylockfile ( arg1 : * mut _IO_FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}__IO_vfscanf" ] 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" { # [ link_name = "\u{1}__IO_vfprintf" ] 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" { # [ link_name = "\u{1}__IO_padn" ] pub fn _IO_padn ( arg1 : * mut _IO_FILE , arg2 : :: std :: os :: raw :: c_int , arg3 : __ssize_t ) -> __ssize_t ; } extern "C" { # [ link_name = "\u{1}__IO_sgetn" ] pub fn _IO_sgetn ( arg1 : * mut _IO_FILE , arg2 : * mut :: std :: os :: raw :: c_void , arg3 : usize ) -> usize ; } extern "C" { # [ link_name = "\u{1}__IO_seekoff" ] 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" { # [ link_name = "\u{1}__IO_seekpos" ] pub fn _IO_seekpos ( arg1 : * mut _IO_FILE , arg2 : __off64_t , arg3 : :: std :: os :: raw :: c_int ) -> __off64_t ; } extern "C" { # [ link_name = "\u{1}__IO_free_backup_area" ] 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" { # [ link_name = "\u{1}_remove" ] pub fn remove ( __filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_rename" ] pub fn rename ( __old : * const :: std :: os :: raw :: c_char , __new : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_renameat" ] 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" { # [ link_name = "\u{1}_tmpfile" ] pub fn tmpfile ( ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_tmpnam" ] pub fn tmpnam ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_tmpnam_r" ] pub fn tmpnam_r ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_tempnam" ] 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" { # [ link_name = "\u{1}_fclose" ] pub fn fclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fflush" ] pub fn fflush ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fflush_unlocked" ] pub fn fflush_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fopen" ] pub fn fopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_freopen" ] pub fn freopen ( __filename : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_fdopen" ] pub fn fdopen ( __fd : :: std :: os :: raw :: c_int , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_fmemopen" ] pub fn fmemopen ( __s : * mut :: std :: os :: raw :: c_void , __len : usize , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_open_memstream" ] pub fn open_memstream ( __bufloc : * mut * mut :: std :: os :: raw :: c_char , __sizeloc : * mut usize ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_setbuf" ] pub fn setbuf ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { # [ link_name = "\u{1}_setvbuf" ] 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" { # [ link_name = "\u{1}_setbuffer" ] pub fn setbuffer ( __stream : * mut FILE , __buf : * mut :: std :: os :: raw :: c_char , __size : usize ) ; } extern "C" { # [ link_name = "\u{1}_setlinebuf" ] pub fn setlinebuf ( __stream : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_fprintf" ] pub fn fprintf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_printf" ] pub fn printf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_sprintf" ] pub fn sprintf ( __s : * mut :: std :: os :: raw :: c_char , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_vfprintf" ] 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" { # [ link_name = "\u{1}_vprintf" ] pub fn vprintf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_vsprintf" ] 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" { # [ link_name = "\u{1}_snprintf" ] 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" { # [ link_name = "\u{1}_vsnprintf" ] 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" { # [ link_name = "\u{1}_vdprintf" ] 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" { # [ link_name = "\u{1}_dprintf" ] pub fn dprintf ( __fd : :: std :: os :: raw :: c_int , __fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fscanf" ] pub fn fscanf ( __stream : * mut FILE , __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_scanf" ] pub fn scanf ( __format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_sscanf" ] 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" { # [ link_name = "\u{1}_vfscanf" ] 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" { # [ link_name = "\u{1}_vscanf" ] pub fn vscanf ( __format : * const :: std :: os :: raw :: c_char , __arg : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_vsscanf" ] 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" { # [ link_name = "\u{1}_fgetc" ] pub fn fgetc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_getc" ] pub fn getc ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_getchar" ] pub fn getchar ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_getc_unlocked" ] pub fn getc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_getchar_unlocked" ] pub fn getchar_unlocked ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fgetc_unlocked" ] pub fn fgetc_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fputc" ] pub fn fputc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_putc" ] pub fn putc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_putchar" ] pub fn putchar ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fputc_unlocked" ] pub fn fputc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_putc_unlocked" ] pub fn putc_unlocked ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_putchar_unlocked" ] pub fn putchar_unlocked ( __c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_getw" ] pub fn getw ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_putw" ] pub fn putw ( __w : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fgets" ] 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" { # [ link_name = "\u{1}___getdelim" ] 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" { # [ link_name = "\u{1}_getdelim" ] 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" { # [ link_name = "\u{1}_getline" ] pub fn getline ( __lineptr : * mut * mut :: std :: os :: raw :: c_char , __n : * mut usize , __stream : * mut FILE ) -> __ssize_t ; } extern "C" { # [ link_name = "\u{1}_fputs" ] pub fn fputs ( __s : * const :: std :: os :: raw :: c_char , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_puts" ] pub fn puts ( __s : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_ungetc" ] pub fn ungetc ( __c : :: std :: os :: raw :: c_int , __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fread" ] pub fn fread ( __ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { # [ link_name = "\u{1}_fwrite" ] pub fn fwrite ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __s : * mut FILE ) -> usize ; } extern "C" { # [ link_name = "\u{1}_fread_unlocked" ] pub fn fread_unlocked ( __ptr : * mut :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { # [ link_name = "\u{1}_fwrite_unlocked" ] pub fn fwrite_unlocked ( __ptr : * const :: std :: os :: raw :: c_void , __size : usize , __n : usize , __stream : * mut FILE ) -> usize ; } extern "C" { # [ link_name = "\u{1}_fseek" ] 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" { # [ link_name = "\u{1}_ftell" ] pub fn ftell ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_rewind" ] pub fn rewind ( __stream : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_fseeko" ] pub fn fseeko ( __stream : * mut FILE , __off : __off_t , __whence : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_ftello" ] pub fn ftello ( __stream : * mut FILE ) -> __off_t ; } extern "C" { # [ link_name = "\u{1}_fgetpos" ] pub fn fgetpos ( __stream : * mut FILE , __pos : * mut fpos_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fsetpos" ] pub fn fsetpos ( __stream : * mut FILE , __pos : * const fpos_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_clearerr" ] pub fn clearerr ( __stream : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_feof" ] pub fn feof ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_ferror" ] pub fn ferror ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_clearerr_unlocked" ] pub fn clearerr_unlocked ( __stream : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_feof_unlocked" ] pub fn feof_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_ferror_unlocked" ] pub fn ferror_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_perror" ] 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" { # [ link_name = "\u{1}_fileno" ] pub fn fileno ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_fileno_unlocked" ] pub fn fileno_unlocked ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_popen" ] pub fn popen ( __command : * const :: std :: os :: raw :: c_char , __modes : * const :: std :: os :: raw :: c_char ) -> * mut FILE ; } extern "C" { # [ link_name = "\u{1}_pclose" ] pub fn pclose ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_ctermid" ] pub fn ctermid ( __s : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_flockfile" ] pub fn flockfile ( __stream : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_ftrylockfile" ] pub fn ftrylockfile ( __stream : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_funlockfile" ] 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" { # [ link_name = "\u{1}_N_VGetVectorID" ] pub fn N_VGetVectorID ( w : N_Vector ) -> N_Vector_ID ; } extern "C" { # [ link_name = "\u{1}_N_VClone" ] pub fn N_VClone ( w : N_Vector ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VCloneEmpty" ] pub fn N_VCloneEmpty ( w : N_Vector ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VDestroy" ] pub fn N_VDestroy ( v : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VSpace" ] pub fn N_VSpace ( v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_N_VGetArrayPointer" ] pub fn N_VGetArrayPointer ( v : N_Vector ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_N_VSetArrayPointer" ] pub fn N_VSetArrayPointer ( v_data : * mut realtype , v : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VLinearSum" ] pub fn N_VLinearSum ( a : realtype , x : N_Vector , b : realtype , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VConst" ] pub fn N_VConst ( c : realtype , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VProd" ] pub fn N_VProd ( x : N_Vector , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VDiv" ] pub fn N_VDiv ( x : N_Vector , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VScale" ] pub fn N_VScale ( c : realtype , x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VAbs" ] pub fn N_VAbs ( x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VInv" ] pub fn N_VInv ( x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VAddConst" ] pub fn N_VAddConst ( x : N_Vector , b : realtype , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VDotProd" ] pub fn N_VDotProd ( x : N_Vector , y : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VMaxNorm" ] pub fn N_VMaxNorm ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNorm" ] pub fn N_VWrmsNorm ( x : N_Vector , w : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNormMask" ] pub fn N_VWrmsNormMask ( x : N_Vector , w : N_Vector , id : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VMin" ] pub fn N_VMin ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWL2Norm" ] pub fn N_VWL2Norm ( x : N_Vector , w : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VL1Norm" ] pub fn N_VL1Norm ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VCompare" ] pub fn N_VCompare ( c : realtype , x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VInvTest" ] pub fn N_VInvTest ( x : N_Vector , z : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VConstrMask" ] pub fn N_VConstrMask ( c : N_Vector , x : N_Vector , m : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VMinQuotient" ] pub fn N_VMinQuotient ( num : N_Vector , denom : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VLinearCombination" ] 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" { # [ link_name = "\u{1}_N_VScaleAddMulti" ] 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" { # [ link_name = "\u{1}_N_VDotProdMulti" ] 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" { # [ link_name = "\u{1}_N_VLinearSumVectorArray" ] 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" { # [ link_name = "\u{1}_N_VScaleVectorArray" ] 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" { # [ link_name = "\u{1}_N_VConstVectorArray" ] pub fn N_VConstVectorArray ( nvec : :: std :: os :: raw :: c_int , c : realtype , Z : * mut N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNormVectorArray" ] 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" { # [ link_name = "\u{1}_N_VWrmsNormMaskVectorArray" ] 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" { # [ link_name = "\u{1}_N_VScaleAddMultiVectorArray" ] 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" { # [ link_name = "\u{1}_N_VLinearCombinationVectorArray" ] 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" { # [ link_name = "\u{1}_N_VCloneEmptyVectorArray" ] pub fn N_VCloneEmptyVectorArray ( count : :: std :: os :: raw :: c_int , w : N_Vector ) -> * mut N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VCloneVectorArray" ] pub fn N_VCloneVectorArray ( count : :: std :: os :: raw :: c_int , w : N_Vector ) -> * mut N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VDestroyVectorArray" ] 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" { # [ link_name = "\u{1}_N_VNew_Serial" ] pub fn N_VNew_Serial ( vec_length : sunindextype ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VNewEmpty_Serial" ] pub fn N_VNewEmpty_Serial ( vec_length : sunindextype ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VMake_Serial" ] pub fn N_VMake_Serial ( vec_length : sunindextype , v_data : * mut realtype ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VCloneVectorArray_Serial" ] pub fn N_VCloneVectorArray_Serial ( count : :: std :: os :: raw :: c_int , w : N_Vector ) -> * mut N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VCloneVectorArrayEmpty_Serial" ] pub fn N_VCloneVectorArrayEmpty_Serial ( count : :: std :: os :: raw :: c_int , w : N_Vector ) -> * mut N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VDestroyVectorArray_Serial" ] pub fn N_VDestroyVectorArray_Serial ( vs : * mut N_Vector , count : :: std :: os :: raw :: c_int ) ; } extern "C" { # [ link_name = "\u{1}_N_VGetLength_Serial" ] pub fn N_VGetLength_Serial ( v : N_Vector ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_N_VPrint_Serial" ] pub fn N_VPrint_Serial ( v : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VPrintFile_Serial" ] pub fn N_VPrintFile_Serial ( v : N_Vector , outfile : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_N_VGetVectorID_Serial" ] pub fn N_VGetVectorID_Serial ( v : N_Vector ) -> N_Vector_ID ; } extern "C" { # [ link_name = "\u{1}_N_VCloneEmpty_Serial" ] pub fn N_VCloneEmpty_Serial ( w : N_Vector ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VClone_Serial" ] pub fn N_VClone_Serial ( w : N_Vector ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_N_VDestroy_Serial" ] pub fn N_VDestroy_Serial ( v : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VSpace_Serial" ] pub fn N_VSpace_Serial ( v : N_Vector , lrw : * mut sunindextype , liw : * mut sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_N_VGetArrayPointer_Serial" ] pub fn N_VGetArrayPointer_Serial ( v : N_Vector ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_N_VSetArrayPointer_Serial" ] pub fn N_VSetArrayPointer_Serial ( v_data : * mut realtype , v : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VLinearSum_Serial" ] pub fn N_VLinearSum_Serial ( a : realtype , x : N_Vector , b : realtype , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VConst_Serial" ] pub fn N_VConst_Serial ( c : realtype , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VProd_Serial" ] pub fn N_VProd_Serial ( x : N_Vector , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VDiv_Serial" ] pub fn N_VDiv_Serial ( x : N_Vector , y : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VScale_Serial" ] pub fn N_VScale_Serial ( c : realtype , x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VAbs_Serial" ] pub fn N_VAbs_Serial ( x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VInv_Serial" ] pub fn N_VInv_Serial ( x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VAddConst_Serial" ] pub fn N_VAddConst_Serial ( x : N_Vector , b : realtype , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VDotProd_Serial" ] pub fn N_VDotProd_Serial ( x : N_Vector , y : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VMaxNorm_Serial" ] pub fn N_VMaxNorm_Serial ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNorm_Serial" ] pub fn N_VWrmsNorm_Serial ( x : N_Vector , w : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNormMask_Serial" ] pub fn N_VWrmsNormMask_Serial ( x : N_Vector , w : N_Vector , id : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VMin_Serial" ] pub fn N_VMin_Serial ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VWL2Norm_Serial" ] pub fn N_VWL2Norm_Serial ( x : N_Vector , w : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VL1Norm_Serial" ] pub fn N_VL1Norm_Serial ( x : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VCompare_Serial" ] pub fn N_VCompare_Serial ( c : realtype , x : N_Vector , z : N_Vector ) ; } extern "C" { # [ link_name = "\u{1}_N_VInvTest_Serial" ] pub fn N_VInvTest_Serial ( x : N_Vector , z : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VConstrMask_Serial" ] pub fn N_VConstrMask_Serial ( c : N_Vector , x : N_Vector , m : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VMinQuotient_Serial" ] pub fn N_VMinQuotient_Serial ( num : N_Vector , denom : N_Vector ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_N_VLinearCombination_Serial" ] 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" { # [ link_name = "\u{1}_N_VScaleAddMulti_Serial" ] 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" { # [ link_name = "\u{1}_N_VDotProdMulti_Serial" ] 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" { # [ link_name = "\u{1}_N_VLinearSumVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VScaleVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VConstVectorArray_Serial" ] pub fn N_VConstVectorArray_Serial ( nvecs : :: std :: os :: raw :: c_int , c : realtype , Z : * mut N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VWrmsNormVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VWrmsNormMaskVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VScaleAddMultiVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VLinearCombinationVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_N_VEnableFusedOps_Serial" ] pub fn N_VEnableFusedOps_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableLinearCombination_Serial" ] pub fn N_VEnableLinearCombination_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableScaleAddMulti_Serial" ] pub fn N_VEnableScaleAddMulti_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableDotProdMulti_Serial" ] pub fn N_VEnableDotProdMulti_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableLinearSumVectorArray_Serial" ] pub fn N_VEnableLinearSumVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableScaleVectorArray_Serial" ] pub fn N_VEnableScaleVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableConstVectorArray_Serial" ] pub fn N_VEnableConstVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableWrmsNormVectorArray_Serial" ] pub fn N_VEnableWrmsNormVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableWrmsNormMaskVectorArray_Serial" ] pub fn N_VEnableWrmsNormMaskVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableScaleAddMultiVectorArray_Serial" ] pub fn N_VEnableScaleAddMultiVectorArray_Serial ( v : N_Vector , tf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_N_VEnableLinearCombinationVectorArray_Serial" ] 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" { # [ link_name = "\u{1}_ModifiedGS" ] 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" { # [ link_name = "\u{1}_ClassicalGS" ] 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" { # [ link_name = "\u{1}_QRfact" ] 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" { # [ link_name = "\u{1}_QRsol" ] 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" { # [ link_name = "\u{1}_SUNMatGetID" ] pub fn SUNMatGetID ( A : SUNMatrix ) -> SUNMatrix_ID ; } extern "C" { # [ link_name = "\u{1}_SUNMatClone" ] pub fn SUNMatClone ( A : SUNMatrix ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNMatDestroy" ] pub fn SUNMatDestroy ( A : SUNMatrix ) ; } extern "C" { # [ link_name = "\u{1}_SUNMatZero" ] pub fn SUNMatZero ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatCopy" ] pub fn SUNMatCopy ( A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAdd" ] pub fn SUNMatScaleAdd ( c : realtype , A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAddI" ] pub fn SUNMatScaleAddI ( c : realtype , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatMatvec" ] pub fn SUNMatMatvec ( A : SUNMatrix , x : N_Vector , y : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatSpace" ] 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" { # [ link_name = "\u{1}_SUNLinSolGetType" ] pub fn SUNLinSolGetType ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes" ] pub fn SUNLinSolSetATimes ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner" ] pub fn SUNLinSolSetPreconditioner ( S : SUNLinearSolver , P_data : * mut :: std :: os :: raw :: c_void , Pset : PSetupFn , Psol : PSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors" ] pub fn SUNLinSolSetScalingVectors ( S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize" ] pub fn SUNLinSolInitialize ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup" ] pub fn SUNLinSolSetup ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve" ] pub fn SUNLinSolSolve ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters" ] pub fn SUNLinSolNumIters ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm" ] pub fn SUNLinSolResNorm ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid" ] pub fn SUNLinSolResid ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag" ] pub fn SUNLinSolLastFlag ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree" ] 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" { # [ link_name = "\u{1}_NewDenseMat" ] pub fn NewDenseMat ( M : sunindextype , N : sunindextype ) -> DlsMat ; } extern "C" { # [ link_name = "\u{1}_NewBandMat" ] pub fn NewBandMat ( N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) -> DlsMat ; } extern "C" { # [ link_name = "\u{1}_DestroyMat" ] pub fn DestroyMat ( A : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_NewIntArray" ] pub fn NewIntArray ( N : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_NewIndexArray" ] pub fn NewIndexArray ( N : sunindextype ) -> * mut sunindextype ; } extern "C" { # [ link_name = "\u{1}_NewRealArray" ] pub fn NewRealArray ( N : sunindextype ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_DestroyArray" ] pub fn DestroyArray ( p : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_AddIdentity" ] pub fn AddIdentity ( A : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_SetToZero" ] pub fn SetToZero ( A : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_PrintMat" ] pub fn PrintMat ( A : DlsMat , outfile : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_newDenseMat" ] pub fn newDenseMat ( m : sunindextype , n : sunindextype ) -> * mut * mut realtype ; } extern "C" { # [ link_name = "\u{1}_newBandMat" ] pub fn newBandMat ( n : sunindextype , smu : sunindextype , ml : sunindextype ) -> * mut * mut realtype ; } extern "C" { # [ link_name = "\u{1}_destroyMat" ] pub fn destroyMat ( a : * mut * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_newIntArray" ] pub fn newIntArray ( n : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_newIndexArray" ] pub fn newIndexArray ( n : sunindextype ) -> * mut sunindextype ; } extern "C" { # [ link_name = "\u{1}_newRealArray" ] pub fn newRealArray ( m : sunindextype ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_destroyArray" ] pub fn destroyArray ( v : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_BandGBTRF" ] pub fn BandGBTRF ( A : DlsMat , p : * mut sunindextype ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_bandGBTRF" ] pub fn bandGBTRF ( a : * mut * mut realtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype , p : * mut sunindextype ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_BandGBTRS" ] pub fn BandGBTRS ( A : DlsMat , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_bandGBTRS" ] pub fn bandGBTRS ( a : * mut * mut realtype , n : sunindextype , smu : sunindextype , ml : sunindextype , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_BandCopy" ] pub fn BandCopy ( A : DlsMat , B : DlsMat , copymu : sunindextype , copyml : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_bandCopy" ] 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" { # [ link_name = "\u{1}_BandScale" ] pub fn BandScale ( c : realtype , A : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_bandScale" ] pub fn bandScale ( c : realtype , a : * mut * mut realtype , n : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_bandAddIdentity" ] pub fn bandAddIdentity ( a : * mut * mut realtype , n : sunindextype , smu : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_BandMatvec" ] pub fn BandMatvec ( A : DlsMat , x : * mut realtype , y : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_bandMatvec" ] 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" { # [ link_name = "\u{1}_SUNBandMatrix" ] pub fn SUNBandMatrix ( N : sunindextype , mu : sunindextype , ml : sunindextype ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrixStorage" ] pub fn SUNBandMatrixStorage ( N : sunindextype , mu : sunindextype , ml : sunindextype , smu : sunindextype ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Print" ] pub fn SUNBandMatrix_Print ( A : SUNMatrix , outfile : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Rows" ] pub fn SUNBandMatrix_Rows ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Columns" ] pub fn SUNBandMatrix_Columns ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_LowerBandwidth" ] pub fn SUNBandMatrix_LowerBandwidth ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_UpperBandwidth" ] pub fn SUNBandMatrix_UpperBandwidth ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_StoredUpperBandwidth" ] pub fn SUNBandMatrix_StoredUpperBandwidth ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_LDim" ] pub fn SUNBandMatrix_LDim ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Data" ] pub fn SUNBandMatrix_Data ( A : SUNMatrix ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Cols" ] pub fn SUNBandMatrix_Cols ( A : SUNMatrix ) -> * mut * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNBandMatrix_Column" ] pub fn SUNBandMatrix_Column ( A : SUNMatrix , j : sunindextype ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNMatGetID_Band" ] pub fn SUNMatGetID_Band ( A : SUNMatrix ) -> SUNMatrix_ID ; } extern "C" { # [ link_name = "\u{1}_SUNMatClone_Band" ] pub fn SUNMatClone_Band ( A : SUNMatrix ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNMatDestroy_Band" ] pub fn SUNMatDestroy_Band ( A : SUNMatrix ) ; } extern "C" { # [ link_name = "\u{1}_SUNMatZero_Band" ] pub fn SUNMatZero_Band ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatCopy_Band" ] pub fn SUNMatCopy_Band ( A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAdd_Band" ] pub fn SUNMatScaleAdd_Band ( c : realtype , A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAddI_Band" ] pub fn SUNMatScaleAddI_Band ( c : realtype , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatMatvec_Band" ] pub fn SUNMatMatvec_Band ( A : SUNMatrix , x : N_Vector , y : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatSpace_Band" ] 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" { # [ link_name = "\u{1}_SUNLinSol_Band" ] pub fn SUNLinSol_Band ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNBandLinearSolver" ] pub fn SUNBandLinearSolver ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_Band" ] pub fn SUNLinSolGetType_Band ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_Band" ] pub fn SUNLinSolInitialize_Band ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_Band" ] pub fn SUNLinSolSetup_Band ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_Band" ] pub fn SUNLinSolSolve_Band ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_Band" ] pub fn SUNLinSolLastFlag_Band ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_Band" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_Band" ] 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" { # [ link_name = "\u{1}_SpbcgMalloc" ] pub fn SpbcgMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpbcgMem ; } extern "C" { # [ link_name = "\u{1}_SpbcgSolve" ] 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" { # [ link_name = "\u{1}_SpbcgFree" ] 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" { # [ link_name = "\u{1}_SUNLinSol_SPBCGS" ] pub fn SUNLinSol_SPBCGS ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPBCGSSetPrecType" ] pub fn SUNLinSol_SPBCGSSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPBCGSSetMaxl" ] pub fn SUNLinSol_SPBCGSSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPBCGS" ] pub fn SUNSPBCGS ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNSPBCGSSetPrecType" ] pub fn SUNSPBCGSSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPBCGSSetMaxl" ] pub fn SUNSPBCGSSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_SPBCGS" ] pub fn SUNLinSolGetType_SPBCGS ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_SPBCGS" ] pub fn SUNLinSolInitialize_SPBCGS ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes_SPBCGS" ] pub fn SUNLinSolSetATimes_SPBCGS ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner_SPBCGS" ] 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" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors_SPBCGS" ] pub fn SUNLinSolSetScalingVectors_SPBCGS ( S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_SPBCGS" ] pub fn SUNLinSolSetup_SPBCGS ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_SPBCGS" ] pub fn SUNLinSolSolve_SPBCGS ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters_SPBCGS" ] pub fn SUNLinSolNumIters_SPBCGS ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm_SPBCGS" ] pub fn SUNLinSolResNorm_SPBCGS ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid_SPBCGS" ] pub fn SUNLinSolResid_SPBCGS ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_SPBCGS" ] pub fn SUNLinSolLastFlag_SPBCGS ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_SPBCGS" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_SPBCGS" ] 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" { # [ link_name = "\u{1}_SpgmrMalloc" ] pub fn SpgmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpgmrMem ; } extern "C" { # [ link_name = "\u{1}_SpgmrSolve" ] 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" { # [ link_name = "\u{1}_SpgmrFree" ] 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" { # [ link_name = "\u{1}_SUNLinSol_SPGMR" ] pub fn SUNLinSol_SPGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPGMRSetPrecType" ] pub fn SUNLinSol_SPGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPGMRSetGSType" ] pub fn SUNLinSol_SPGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPGMRSetMaxRestarts" ] pub fn SUNLinSol_SPGMRSetMaxRestarts ( S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPGMR" ] pub fn SUNSPGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNSPGMRSetPrecType" ] pub fn SUNSPGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPGMRSetGSType" ] pub fn SUNSPGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPGMRSetMaxRestarts" ] pub fn SUNSPGMRSetMaxRestarts ( S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_SPGMR" ] pub fn SUNLinSolGetType_SPGMR ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_SPGMR" ] pub fn SUNLinSolInitialize_SPGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes_SPGMR" ] pub fn SUNLinSolSetATimes_SPGMR ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner_SPGMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors_SPGMR" ] pub fn SUNLinSolSetScalingVectors_SPGMR ( S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_SPGMR" ] pub fn SUNLinSolSetup_SPGMR ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_SPGMR" ] pub fn SUNLinSolSolve_SPGMR ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters_SPGMR" ] pub fn SUNLinSolNumIters_SPGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm_SPGMR" ] pub fn SUNLinSolResNorm_SPGMR ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid_SPGMR" ] pub fn SUNLinSolResid_SPGMR ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_SPGMR" ] pub fn SUNLinSolLastFlag_SPGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_SPGMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_SPGMR" ] pub fn SUNLinSolFree_SPGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_DenseGETRF" ] pub fn DenseGETRF ( A : DlsMat , p : * mut sunindextype ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_DenseGETRS" ] pub fn DenseGETRS ( A : DlsMat , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_denseGETRF" ] pub fn denseGETRF ( a : * mut * mut realtype , m : sunindextype , n : sunindextype , p : * mut sunindextype ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_denseGETRS" ] pub fn denseGETRS ( a : * mut * mut realtype , n : sunindextype , p : * mut sunindextype , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_DensePOTRF" ] pub fn DensePOTRF ( A : DlsMat ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_DensePOTRS" ] pub fn DensePOTRS ( A : DlsMat , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_densePOTRF" ] pub fn densePOTRF ( a : * mut * mut realtype , m : sunindextype ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_densePOTRS" ] pub fn densePOTRS ( a : * mut * mut realtype , m : sunindextype , b : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_DenseGEQRF" ] pub fn DenseGEQRF ( A : DlsMat , beta : * mut realtype , wrk : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_DenseORMQR" ] pub fn DenseORMQR ( A : DlsMat , beta : * mut realtype , vn : * mut realtype , vm : * mut realtype , wrk : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_denseGEQRF" ] pub fn denseGEQRF ( a : * mut * mut realtype , m : sunindextype , n : sunindextype , beta : * mut realtype , wrk : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_denseORMQR" ] 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" { # [ link_name = "\u{1}_DenseCopy" ] pub fn DenseCopy ( A : DlsMat , B : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_denseCopy" ] pub fn denseCopy ( a : * mut * mut realtype , b : * mut * mut realtype , m : sunindextype , n : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_DenseScale" ] pub fn DenseScale ( c : realtype , A : DlsMat ) ; } extern "C" { # [ link_name = "\u{1}_denseScale" ] pub fn denseScale ( c : realtype , a : * mut * mut realtype , m : sunindextype , n : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_denseAddIdentity" ] pub fn denseAddIdentity ( a : * mut * mut realtype , n : sunindextype ) ; } extern "C" { # [ link_name = "\u{1}_DenseMatvec" ] pub fn DenseMatvec ( A : DlsMat , x : * mut realtype , y : * mut realtype ) ; } extern "C" { # [ link_name = "\u{1}_denseMatvec" ] 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" { # [ link_name = "\u{1}_SUNDenseMatrix" ] pub fn SUNDenseMatrix ( M : sunindextype , N : sunindextype ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Print" ] pub fn SUNDenseMatrix_Print ( A : SUNMatrix , outfile : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Rows" ] pub fn SUNDenseMatrix_Rows ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Columns" ] pub fn SUNDenseMatrix_Columns ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_LData" ] pub fn SUNDenseMatrix_LData ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Data" ] pub fn SUNDenseMatrix_Data ( A : SUNMatrix ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Cols" ] pub fn SUNDenseMatrix_Cols ( A : SUNMatrix ) -> * mut * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNDenseMatrix_Column" ] pub fn SUNDenseMatrix_Column ( A : SUNMatrix , j : sunindextype ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNMatGetID_Dense" ] pub fn SUNMatGetID_Dense ( A : SUNMatrix ) -> SUNMatrix_ID ; } extern "C" { # [ link_name = "\u{1}_SUNMatClone_Dense" ] pub fn SUNMatClone_Dense ( A : SUNMatrix ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNMatDestroy_Dense" ] pub fn SUNMatDestroy_Dense ( A : SUNMatrix ) ; } extern "C" { # [ link_name = "\u{1}_SUNMatZero_Dense" ] pub fn SUNMatZero_Dense ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatCopy_Dense" ] pub fn SUNMatCopy_Dense ( A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAdd_Dense" ] pub fn SUNMatScaleAdd_Dense ( c : realtype , A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAddI_Dense" ] pub fn SUNMatScaleAddI_Dense ( c : realtype , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatMatvec_Dense" ] pub fn SUNMatMatvec_Dense ( A : SUNMatrix , x : N_Vector , y : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatSpace_Dense" ] 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" { # [ link_name = "\u{1}_SUNLinSol_Dense" ] pub fn SUNLinSol_Dense ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNDenseLinearSolver" ] pub fn SUNDenseLinearSolver ( y : N_Vector , A : SUNMatrix ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_Dense" ] pub fn SUNLinSolGetType_Dense ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_Dense" ] pub fn SUNLinSolInitialize_Dense ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_Dense" ] pub fn SUNLinSolSetup_Dense ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_Dense" ] pub fn SUNLinSolSolve_Dense ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_Dense" ] pub fn SUNLinSolLastFlag_Dense ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_Dense" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_Dense" ] 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" { # [ link_name = "\u{1}_PcgMalloc" ] pub fn PcgMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> PcgMem ; } extern "C" { # [ link_name = "\u{1}_PcgSolve" ] 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" { # [ link_name = "\u{1}_PcgFree" ] 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" { # [ link_name = "\u{1}_SUNLinSol_PCG" ] pub fn SUNLinSol_PCG ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_PCGSetPrecType" ] pub fn SUNLinSol_PCGSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_PCGSetMaxl" ] pub fn SUNLinSol_PCGSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNPCG" ] pub fn SUNPCG ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNPCGSetPrecType" ] pub fn SUNPCGSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNPCGSetMaxl" ] pub fn SUNPCGSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_PCG" ] pub fn SUNLinSolGetType_PCG ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_PCG" ] pub fn SUNLinSolInitialize_PCG ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes_PCG" ] pub fn SUNLinSolSetATimes_PCG ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner_PCG" ] 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" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors_PCG" ] pub fn SUNLinSolSetScalingVectors_PCG ( S : SUNLinearSolver , s : N_Vector , nul : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_PCG" ] pub fn SUNLinSolSetup_PCG ( S : SUNLinearSolver , nul : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_PCG" ] pub fn SUNLinSolSolve_PCG ( S : SUNLinearSolver , nul : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters_PCG" ] pub fn SUNLinSolNumIters_PCG ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm_PCG" ] pub fn SUNLinSolResNorm_PCG ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid_PCG" ] pub fn SUNLinSolResid_PCG ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_PCG" ] pub fn SUNLinSolLastFlag_PCG ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_PCG" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_PCG" ] 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" { # [ link_name = "\u{1}_SpfgmrMalloc" ] pub fn SpfgmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SpfgmrMem ; } extern "C" { # [ link_name = "\u{1}_SpfgmrSolve" ] 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" { # [ link_name = "\u{1}_SpfgmrFree" ] 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" { # [ link_name = "\u{1}_SUNLinSol_SPFGMR" ] pub fn SUNLinSol_SPFGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPFGMRSetPrecType" ] pub fn SUNLinSol_SPFGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPFGMRSetGSType" ] pub fn SUNLinSol_SPFGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPFGMRSetMaxRestarts" ] pub fn SUNLinSol_SPFGMRSetMaxRestarts ( S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPFGMR" ] pub fn SUNSPFGMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNSPFGMRSetPrecType" ] pub fn SUNSPFGMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPFGMRSetGSType" ] pub fn SUNSPFGMRSetGSType ( S : SUNLinearSolver , gstype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPFGMRSetMaxRestarts" ] pub fn SUNSPFGMRSetMaxRestarts ( S : SUNLinearSolver , maxrs : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_SPFGMR" ] pub fn SUNLinSolGetType_SPFGMR ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_SPFGMR" ] pub fn SUNLinSolInitialize_SPFGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes_SPFGMR" ] pub fn SUNLinSolSetATimes_SPFGMR ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner_SPFGMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors_SPFGMR" ] pub fn SUNLinSolSetScalingVectors_SPFGMR ( S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_SPFGMR" ] pub fn SUNLinSolSetup_SPFGMR ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_SPFGMR" ] pub fn SUNLinSolSolve_SPFGMR ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters_SPFGMR" ] pub fn SUNLinSolNumIters_SPFGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm_SPFGMR" ] pub fn SUNLinSolResNorm_SPFGMR ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid_SPFGMR" ] pub fn SUNLinSolResid_SPFGMR ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_SPFGMR" ] pub fn SUNLinSolLastFlag_SPFGMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_SPFGMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_SPFGMR" ] 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" { # [ link_name = "\u{1}_SptfqmrMalloc" ] pub fn SptfqmrMalloc ( l_max : :: std :: os :: raw :: c_int , vec_tmpl : N_Vector ) -> SptfqmrMem ; } extern "C" { # [ link_name = "\u{1}_SptfqmrSolve" ] 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" { # [ link_name = "\u{1}_SptfqmrFree" ] 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" { # [ link_name = "\u{1}_SUNLinSol_SPTFQMR" ] pub fn SUNLinSol_SPTFQMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPTFQMRSetPrecType" ] pub fn SUNLinSol_SPTFQMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSol_SPTFQMRSetMaxl" ] pub fn SUNLinSol_SPTFQMRSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPTFQMR" ] pub fn SUNSPTFQMR ( y : N_Vector , pretype : :: std :: os :: raw :: c_int , maxl : :: std :: os :: raw :: c_int ) -> SUNLinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNSPTFQMRSetPrecType" ] pub fn SUNSPTFQMRSetPrecType ( S : SUNLinearSolver , pretype : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSPTFQMRSetMaxl" ] pub fn SUNSPTFQMRSetMaxl ( S : SUNLinearSolver , maxl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolGetType_SPTFQMR" ] pub fn SUNLinSolGetType_SPTFQMR ( S : SUNLinearSolver ) -> SUNLinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolInitialize_SPTFQMR" ] pub fn SUNLinSolInitialize_SPTFQMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetATimes_SPTFQMR" ] pub fn SUNLinSolSetATimes_SPTFQMR ( S : SUNLinearSolver , A_data : * mut :: std :: os :: raw :: c_void , ATimes : ATimesFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetPreconditioner_SPTFQMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolSetScalingVectors_SPTFQMR" ] pub fn SUNLinSolSetScalingVectors_SPTFQMR ( S : SUNLinearSolver , s1 : N_Vector , s2 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSetup_SPTFQMR" ] pub fn SUNLinSolSetup_SPTFQMR ( S : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSolve_SPTFQMR" ] pub fn SUNLinSolSolve_SPTFQMR ( S : SUNLinearSolver , A : SUNMatrix , x : N_Vector , b : N_Vector , tol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolNumIters_SPTFQMR" ] pub fn SUNLinSolNumIters_SPTFQMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResNorm_SPTFQMR" ] pub fn SUNLinSolResNorm_SPTFQMR ( S : SUNLinearSolver ) -> realtype ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolResid_SPTFQMR" ] pub fn SUNLinSolResid_SPTFQMR ( S : SUNLinearSolver ) -> N_Vector ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolLastFlag_SPTFQMR" ] pub fn SUNLinSolLastFlag_SPTFQMR ( S : SUNLinearSolver ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ link_name = "\u{1}_SUNLinSolSpace_SPTFQMR" ] 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" { # [ link_name = "\u{1}_SUNLinSolFree_SPTFQMR" ] 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" { # [ link_name = "\u{1}_SUNSparseMatrix" ] pub fn SUNSparseMatrix ( M : sunindextype , N : sunindextype , NNZ : sunindextype , sparsetype : :: std :: os :: raw :: c_int ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNSparseFromDenseMatrix" ] pub fn SUNSparseFromDenseMatrix ( A : SUNMatrix , droptol : realtype , sparsetype : :: std :: os :: raw :: c_int ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNSparseFromBandMatrix" ] pub fn SUNSparseFromBandMatrix ( A : SUNMatrix , droptol : realtype , sparsetype : :: std :: os :: raw :: c_int ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Realloc" ] pub fn SUNSparseMatrix_Realloc ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Reallocate" ] pub fn SUNSparseMatrix_Reallocate ( A : SUNMatrix , NNZ : sunindextype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Print" ] pub fn SUNSparseMatrix_Print ( A : SUNMatrix , outfile : * mut FILE ) ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Rows" ] pub fn SUNSparseMatrix_Rows ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Columns" ] pub fn SUNSparseMatrix_Columns ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_NNZ" ] pub fn SUNSparseMatrix_NNZ ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_NP" ] pub fn SUNSparseMatrix_NP ( A : SUNMatrix ) -> sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_SparseType" ] pub fn SUNSparseMatrix_SparseType ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_Data" ] pub fn SUNSparseMatrix_Data ( A : SUNMatrix ) -> * mut realtype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_IndexValues" ] pub fn SUNSparseMatrix_IndexValues ( A : SUNMatrix ) -> * mut sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNSparseMatrix_IndexPointers" ] pub fn SUNSparseMatrix_IndexPointers ( A : SUNMatrix ) -> * mut sunindextype ; } extern "C" { # [ link_name = "\u{1}_SUNMatGetID_Sparse" ] pub fn SUNMatGetID_Sparse ( A : SUNMatrix ) -> SUNMatrix_ID ; } extern "C" { # [ link_name = "\u{1}_SUNMatClone_Sparse" ] pub fn SUNMatClone_Sparse ( A : SUNMatrix ) -> SUNMatrix ; } extern "C" { # [ link_name = "\u{1}_SUNMatDestroy_Sparse" ] pub fn SUNMatDestroy_Sparse ( A : SUNMatrix ) ; } extern "C" { # [ link_name = "\u{1}_SUNMatZero_Sparse" ] pub fn SUNMatZero_Sparse ( A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatCopy_Sparse" ] pub fn SUNMatCopy_Sparse ( A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAdd_Sparse" ] pub fn SUNMatScaleAdd_Sparse ( c : realtype , A : SUNMatrix , B : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatScaleAddI_Sparse" ] pub fn SUNMatScaleAddI_Sparse ( c : realtype , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatMatvec_Sparse" ] pub fn SUNMatMatvec_Sparse ( A : SUNMatrix , x : N_Vector , y : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNMatSpace_Sparse" ] 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" { # [ link_name = "\u{1}_SUNNonlinSolGetType" ] pub fn SUNNonlinSolGetType ( NLS : SUNNonlinearSolver ) -> SUNNonlinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolInitialize" ] pub fn SUNNonlinSolInitialize ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetup" ] pub fn SUNNonlinSolSetup ( NLS : SUNNonlinearSolver , y : N_Vector , mem : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSolve" ] 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" { # [ link_name = "\u{1}_SUNNonlinSolFree" ] pub fn SUNNonlinSolFree ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetSysFn" ] pub fn SUNNonlinSolSetSysFn ( NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetLSetupFn" ] pub fn SUNNonlinSolSetLSetupFn ( NLS : SUNNonlinearSolver , SetupFn : SUNNonlinSolLSetupFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetLSolveFn" ] pub fn SUNNonlinSolSetLSolveFn ( NLS : SUNNonlinearSolver , SolveFn : SUNNonlinSolLSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetConvTestFn" ] pub fn SUNNonlinSolSetConvTestFn ( NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetMaxIters" ] pub fn SUNNonlinSolSetMaxIters ( NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumIters" ] pub fn SUNNonlinSolGetNumIters ( NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetCurIter" ] pub fn SUNNonlinSolGetCurIter ( NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumConvFails" ] 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" { # [ link_name = "\u{1}_SUNNonlinSol_FixedPoint" ] pub fn SUNNonlinSol_FixedPoint ( y : N_Vector , m : :: std :: os :: raw :: c_int ) -> SUNNonlinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSol_FixedPointSens" ] pub fn SUNNonlinSol_FixedPointSens ( count : :: std :: os :: raw :: c_int , y : N_Vector , m : :: std :: os :: raw :: c_int ) -> SUNNonlinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetType_FixedPoint" ] pub fn SUNNonlinSolGetType_FixedPoint ( NLS : SUNNonlinearSolver ) -> SUNNonlinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolInitialize_FixedPoint" ] pub fn SUNNonlinSolInitialize_FixedPoint ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSolve_FixedPoint" ] 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" { # [ link_name = "\u{1}_SUNNonlinSolFree_FixedPoint" ] pub fn SUNNonlinSolFree_FixedPoint ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetSysFn_FixedPoint" ] pub fn SUNNonlinSolSetSysFn_FixedPoint ( NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetConvTestFn_FixedPoint" ] pub fn SUNNonlinSolSetConvTestFn_FixedPoint ( NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetMaxIters_FixedPoint" ] pub fn SUNNonlinSolSetMaxIters_FixedPoint ( NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumIters_FixedPoint" ] pub fn SUNNonlinSolGetNumIters_FixedPoint ( NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetCurIter_FixedPoint" ] pub fn SUNNonlinSolGetCurIter_FixedPoint ( NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumConvFails_FixedPoint" ] pub fn SUNNonlinSolGetNumConvFails_FixedPoint ( NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetSysFn_FixedPoint" ] 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" { # [ link_name = "\u{1}_SUNNonlinSol_Newton" ] pub fn SUNNonlinSol_Newton ( y : N_Vector ) -> SUNNonlinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSol_NewtonSens" ] pub fn SUNNonlinSol_NewtonSens ( count : :: std :: os :: raw :: c_int , y : N_Vector ) -> SUNNonlinearSolver ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetType_Newton" ] pub fn SUNNonlinSolGetType_Newton ( NLS : SUNNonlinearSolver ) -> SUNNonlinearSolver_Type ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolInitialize_Newton" ] pub fn SUNNonlinSolInitialize_Newton ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSolve_Newton" ] 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" { # [ link_name = "\u{1}_SUNNonlinSolFree_Newton" ] pub fn SUNNonlinSolFree_Newton ( NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetSysFn_Newton" ] pub fn SUNNonlinSolSetSysFn_Newton ( NLS : SUNNonlinearSolver , SysFn : SUNNonlinSolSysFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetLSetupFn_Newton" ] pub fn SUNNonlinSolSetLSetupFn_Newton ( NLS : SUNNonlinearSolver , LSetupFn : SUNNonlinSolLSetupFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetLSolveFn_Newton" ] pub fn SUNNonlinSolSetLSolveFn_Newton ( NLS : SUNNonlinearSolver , LSolveFn : SUNNonlinSolLSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetConvTestFn_Newton" ] pub fn SUNNonlinSolSetConvTestFn_Newton ( NLS : SUNNonlinearSolver , CTestFn : SUNNonlinSolConvTestFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolSetMaxIters_Newton" ] pub fn SUNNonlinSolSetMaxIters_Newton ( NLS : SUNNonlinearSolver , maxiters : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumIters_Newton" ] pub fn SUNNonlinSolGetNumIters_Newton ( NLS : SUNNonlinearSolver , niters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetCurIter_Newton" ] pub fn SUNNonlinSolGetCurIter_Newton ( NLS : SUNNonlinearSolver , iter : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetNumConvFails_Newton" ] pub fn SUNNonlinSolGetNumConvFails_Newton ( NLS : SUNNonlinearSolver , nconvfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_SUNNonlinSolGetSysFn_Newton" ] 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" { # [ link_name = "\u{1}_CVodeSetLinearSolver" ] pub fn CVodeSetLinearSolver ( cvode_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetJacFn" ] pub fn CVodeSetJacFn ( cvode_mem : * mut :: std :: os :: raw :: c_void , jac : CVLsJacFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxStepsBetweenJac" ] pub fn CVodeSetMaxStepsBetweenJac ( cvode_mem : * mut :: std :: os :: raw :: c_void , msbj : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetEpsLin" ] pub fn CVodeSetEpsLin ( cvode_mem : * mut :: std :: os :: raw :: c_void , eplifac : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetPreconditioner" ] pub fn CVodeSetPreconditioner ( cvode_mem : * mut :: std :: os :: raw :: c_void , pset : CVLsPrecSetupFn , psolve : CVLsPrecSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetJacTimes" ] pub fn CVodeSetJacTimes ( cvode_mem : * mut :: std :: os :: raw :: c_void , jtsetup : CVLsJacTimesSetupFn , jtimes : CVLsJacTimesVecFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetLinWorkSpace" ] 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" { # [ link_name = "\u{1}_CVodeGetNumJacEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetNumPrecEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetNumPrecSolves" ] 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" { # [ link_name = "\u{1}_CVodeGetNumLinIters" ] 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" { # [ link_name = "\u{1}_CVodeGetNumLinConvFails" ] 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" { # [ link_name = "\u{1}_CVodeGetNumJTSetupEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetNumJtimesEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetNumLinRhsEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetLastLinFlag" ] 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" { # [ link_name = "\u{1}_CVodeGetLinReturnFlagName" ] 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" { # [ link_name = "\u{1}_CVodeCreate" ] pub fn CVodeCreate ( lmm : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ link_name = "\u{1}_CVodeSetErrHandlerFn" ] 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" { # [ link_name = "\u{1}_CVodeSetErrFile" ] pub fn CVodeSetErrFile ( cvode_mem : * mut :: std :: os :: raw :: c_void , errfp : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetUserData" ] 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" { # [ link_name = "\u{1}_CVodeSetMaxOrd" ] pub fn CVodeSetMaxOrd ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxNumSteps" ] pub fn CVodeSetMaxNumSteps ( cvode_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxHnilWarns" ] pub fn CVodeSetMaxHnilWarns ( cvode_mem : * mut :: std :: os :: raw :: c_void , mxhnil : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetStabLimDet" ] pub fn CVodeSetStabLimDet ( cvode_mem : * mut :: std :: os :: raw :: c_void , stldet : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetInitStep" ] pub fn CVodeSetInitStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hin : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMinStep" ] pub fn CVodeSetMinStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hmin : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxStep" ] pub fn CVodeSetMaxStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hmax : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetStopTime" ] pub fn CVodeSetStopTime ( cvode_mem : * mut :: std :: os :: raw :: c_void , tstop : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxErrTestFails" ] pub fn CVodeSetMaxErrTestFails ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxNonlinIters" ] pub fn CVodeSetMaxNonlinIters ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetMaxConvFails" ] pub fn CVodeSetMaxConvFails ( cvode_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetNonlinConvCoef" ] pub fn CVodeSetNonlinConvCoef ( cvode_mem : * mut :: std :: os :: raw :: c_void , nlscoef : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetConstraints" ] pub fn CVodeSetConstraints ( cvode_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSetRootDirection" ] 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" { # [ link_name = "\u{1}_CVodeSetNoInactiveRootWarn" ] pub fn CVodeSetNoInactiveRootWarn ( cvode_mem : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeInit" ] 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" { # [ link_name = "\u{1}_CVodeReInit" ] pub fn CVodeReInit ( cvode_mem : * mut :: std :: os :: raw :: c_void , t0 : realtype , y0 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSStolerances" ] pub fn CVodeSStolerances ( cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : realtype , abstol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeSVtolerances" ] pub fn CVodeSVtolerances ( cvode_mem : * mut :: std :: os :: raw :: c_void , reltol : realtype , abstol : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeWFtolerances" ] pub fn CVodeWFtolerances ( cvode_mem : * mut :: std :: os :: raw :: c_void , efun : CVEwtFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeRootInit" ] 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" { # [ link_name = "\u{1}_CVode" ] 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" { # [ link_name = "\u{1}_CVodeGetDky" ] 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" { # [ link_name = "\u{1}_CVodeGetWorkSpace" ] 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" { # [ link_name = "\u{1}_CVodeGetNumSteps" ] 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" { # [ link_name = "\u{1}_CVodeGetNumRhsEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetNumLinSolvSetups" ] 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" { # [ link_name = "\u{1}_CVodeGetNumErrTestFails" ] 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" { # [ link_name = "\u{1}_CVodeGetLastOrder" ] 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" { # [ link_name = "\u{1}_CVodeGetCurrentOrder" ] 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" { # [ link_name = "\u{1}_CVodeGetNumStabLimOrderReds" ] 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" { # [ link_name = "\u{1}_CVodeGetActualInitStep" ] pub fn CVodeGetActualInitStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetLastStep" ] pub fn CVodeGetLastStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetCurrentStep" ] pub fn CVodeGetCurrentStep ( cvode_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetCurrentTime" ] pub fn CVodeGetCurrentTime ( cvode_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetTolScaleFactor" ] pub fn CVodeGetTolScaleFactor ( cvode_mem : * mut :: std :: os :: raw :: c_void , tolsfac : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetErrWeights" ] pub fn CVodeGetErrWeights ( cvode_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetEstLocalErrors" ] pub fn CVodeGetEstLocalErrors ( cvode_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_CVodeGetNumGEvals" ] 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" { # [ link_name = "\u{1}_CVodeGetRootInfo" ] 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" { # [ link_name = "\u{1}_CVodeGetIntegratorStats" ] 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" { # [ link_name = "\u{1}_CVodeGetNumNonlinSolvIters" ] 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" { # [ link_name = "\u{1}_CVodeGetNumNonlinSolvConvFails" ] 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" { # [ link_name = "\u{1}_CVodeGetNonlinSolvStats" ] 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" { # [ link_name = "\u{1}_CVodeGetReturnFlagName" ] pub fn CVodeGetReturnFlagName ( flag : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_CVodeFree" ] pub fn CVodeFree ( cvode_mem : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_CVodeSetNonlinearSolver" ] 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" { # [ link_name = "\u{1}_IDASetLinearSolver" ] pub fn IDASetLinearSolver ( ida_mem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetJacFn" ] pub fn IDASetJacFn ( ida_mem : * mut :: std :: os :: raw :: c_void , jac : IDALsJacFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetPreconditioner" ] pub fn IDASetPreconditioner ( ida_mem : * mut :: std :: os :: raw :: c_void , pset : IDALsPrecSetupFn , psolve : IDALsPrecSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetJacTimes" ] pub fn IDASetJacTimes ( ida_mem : * mut :: std :: os :: raw :: c_void , jtsetup : IDALsJacTimesSetupFn , jtimes : IDALsJacTimesVecFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetEpsLin" ] pub fn IDASetEpsLin ( ida_mem : * mut :: std :: os :: raw :: c_void , eplifac : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetIncrementFactor" ] pub fn IDASetIncrementFactor ( ida_mem : * mut :: std :: os :: raw :: c_void , dqincfac : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetLinWorkSpace" ] 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" { # [ link_name = "\u{1}_IDAGetNumJacEvals" ] 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" { # [ link_name = "\u{1}_IDAGetNumPrecEvals" ] 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" { # [ link_name = "\u{1}_IDAGetNumPrecSolves" ] 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" { # [ link_name = "\u{1}_IDAGetNumLinIters" ] 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" { # [ link_name = "\u{1}_IDAGetNumLinConvFails" ] 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" { # [ link_name = "\u{1}_IDAGetNumJTSetupEvals" ] 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" { # [ link_name = "\u{1}_IDAGetNumJtimesEvals" ] 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" { # [ link_name = "\u{1}_IDAGetNumLinResEvals" ] 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" { # [ link_name = "\u{1}_IDAGetLastLinFlag" ] 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" { # [ link_name = "\u{1}_IDAGetLinReturnFlagName" ] 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" { # [ link_name = "\u{1}_IDACreate" ] pub fn IDACreate ( ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ link_name = "\u{1}_IDASetErrHandlerFn" ] 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" { # [ link_name = "\u{1}_IDASetErrFile" ] pub fn IDASetErrFile ( ida_mem : * mut :: std :: os :: raw :: c_void , errfp : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetUserData" ] 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" { # [ link_name = "\u{1}_IDASetMaxOrd" ] pub fn IDASetMaxOrd ( ida_mem : * mut :: std :: os :: raw :: c_void , maxord : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxNumSteps" ] pub fn IDASetMaxNumSteps ( ida_mem : * mut :: std :: os :: raw :: c_void , mxsteps : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetInitStep" ] pub fn IDASetInitStep ( ida_mem : * mut :: std :: os :: raw :: c_void , hin : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxStep" ] pub fn IDASetMaxStep ( ida_mem : * mut :: std :: os :: raw :: c_void , hmax : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetStopTime" ] pub fn IDASetStopTime ( ida_mem : * mut :: std :: os :: raw :: c_void , tstop : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetNonlinConvCoef" ] pub fn IDASetNonlinConvCoef ( ida_mem : * mut :: std :: os :: raw :: c_void , epcon : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxErrTestFails" ] pub fn IDASetMaxErrTestFails ( ida_mem : * mut :: std :: os :: raw :: c_void , maxnef : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxNonlinIters" ] pub fn IDASetMaxNonlinIters ( ida_mem : * mut :: std :: os :: raw :: c_void , maxcor : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxConvFails" ] pub fn IDASetMaxConvFails ( ida_mem : * mut :: std :: os :: raw :: c_void , maxncf : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetSuppressAlg" ] pub fn IDASetSuppressAlg ( ida_mem : * mut :: std :: os :: raw :: c_void , suppressalg : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetId" ] pub fn IDASetId ( ida_mem : * mut :: std :: os :: raw :: c_void , id : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetConstraints" ] pub fn IDASetConstraints ( ida_mem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetRootDirection" ] pub fn IDASetRootDirection ( ida_mem : * mut :: std :: os :: raw :: c_void , rootdir : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetNoInactiveRootWarn" ] pub fn IDASetNoInactiveRootWarn ( ida_mem : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAInit" ] pub fn IDAInit ( ida_mem : * mut :: std :: os :: raw :: c_void , res : IDAResFn , t0 : realtype , yy0 : N_Vector , yp0 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAReInit" ] pub fn IDAReInit ( ida_mem : * mut :: std :: os :: raw :: c_void , t0 : realtype , yy0 : N_Vector , yp0 : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASStolerances" ] pub fn IDASStolerances ( ida_mem : * mut :: std :: os :: raw :: c_void , reltol : realtype , abstol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASVtolerances" ] pub fn IDASVtolerances ( ida_mem : * mut :: std :: os :: raw :: c_void , reltol : realtype , abstol : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAWFtolerances" ] pub fn IDAWFtolerances ( ida_mem : * mut :: std :: os :: raw :: c_void , efun : IDAEwtFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetNonlinConvCoefIC" ] pub fn IDASetNonlinConvCoefIC ( ida_mem : * mut :: std :: os :: raw :: c_void , epiccon : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxNumStepsIC" ] pub fn IDASetMaxNumStepsIC ( ida_mem : * mut :: std :: os :: raw :: c_void , maxnh : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxNumJacsIC" ] pub fn IDASetMaxNumJacsIC ( ida_mem : * mut :: std :: os :: raw :: c_void , maxnj : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxNumItersIC" ] pub fn IDASetMaxNumItersIC ( ida_mem : * mut :: std :: os :: raw :: c_void , maxnit : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetLineSearchOffIC" ] pub fn IDASetLineSearchOffIC ( ida_mem : * mut :: std :: os :: raw :: c_void , lsoff : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetStepToleranceIC" ] pub fn IDASetStepToleranceIC ( ida_mem : * mut :: std :: os :: raw :: c_void , steptol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASetMaxBacksIC" ] pub fn IDASetMaxBacksIC ( ida_mem : * mut :: std :: os :: raw :: c_void , maxbacks : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDARootInit" ] pub fn IDARootInit ( ida_mem : * mut :: std :: os :: raw :: c_void , nrtfn : :: std :: os :: raw :: c_int , g : IDARootFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDACalcIC" ] pub fn IDACalcIC ( ida_mem : * mut :: std :: os :: raw :: c_void , icopt : :: std :: os :: raw :: c_int , tout1 : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDASolve" ] pub fn IDASolve ( ida_mem : * mut :: std :: os :: raw :: c_void , tout : realtype , tret : * mut realtype , yret : N_Vector , ypret : N_Vector , itask : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetDky" ] pub fn IDAGetDky ( ida_mem : * mut :: std :: os :: raw :: c_void , t : realtype , k : :: std :: os :: raw :: c_int , dky : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetWorkSpace" ] pub fn IDAGetWorkSpace ( ida_mem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumSteps" ] pub fn IDAGetNumSteps ( ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumResEvals" ] pub fn IDAGetNumResEvals ( ida_mem : * mut :: std :: os :: raw :: c_void , nrevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumLinSolvSetups" ] pub fn IDAGetNumLinSolvSetups ( ida_mem : * mut :: std :: os :: raw :: c_void , nlinsetups : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumErrTestFails" ] pub fn IDAGetNumErrTestFails ( ida_mem : * mut :: std :: os :: raw :: c_void , netfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumBacktrackOps" ] pub fn IDAGetNumBacktrackOps ( ida_mem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetConsistentIC" ] pub fn IDAGetConsistentIC ( ida_mem : * mut :: std :: os :: raw :: c_void , yy0_mod : N_Vector , yp0_mod : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetLastOrder" ] pub fn IDAGetLastOrder ( ida_mem : * mut :: std :: os :: raw :: c_void , klast : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetCurrentOrder" ] pub fn IDAGetCurrentOrder ( ida_mem : * mut :: std :: os :: raw :: c_void , kcur : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetActualInitStep" ] pub fn IDAGetActualInitStep ( ida_mem : * mut :: std :: os :: raw :: c_void , hinused : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetLastStep" ] pub fn IDAGetLastStep ( ida_mem : * mut :: std :: os :: raw :: c_void , hlast : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetCurrentStep" ] pub fn IDAGetCurrentStep ( ida_mem : * mut :: std :: os :: raw :: c_void , hcur : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetCurrentTime" ] pub fn IDAGetCurrentTime ( ida_mem : * mut :: std :: os :: raw :: c_void , tcur : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetTolScaleFactor" ] pub fn IDAGetTolScaleFactor ( ida_mem : * mut :: std :: os :: raw :: c_void , tolsfact : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetErrWeights" ] pub fn IDAGetErrWeights ( ida_mem : * mut :: std :: os :: raw :: c_void , eweight : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetEstLocalErrors" ] pub fn IDAGetEstLocalErrors ( ida_mem : * mut :: std :: os :: raw :: c_void , ele : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumGEvals" ] pub fn IDAGetNumGEvals ( ida_mem : * mut :: std :: os :: raw :: c_void , ngevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetRootInfo" ] pub fn IDAGetRootInfo ( ida_mem : * mut :: std :: os :: raw :: c_void , rootsfound : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetIntegratorStats" ] pub fn IDAGetIntegratorStats ( ida_mem : * mut :: std :: os :: raw :: c_void , nsteps : * mut :: std :: os :: raw :: c_long , nrevals : * mut :: std :: os :: raw :: c_long , nlinsetups : * mut :: std :: os :: raw :: c_long , netfails : * mut :: std :: os :: raw :: c_long , qlast : * mut :: std :: os :: raw :: c_int , qcur : * mut :: std :: os :: raw :: c_int , hinused : * mut realtype , hlast : * mut realtype , hcur : * mut realtype , tcur : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumNonlinSolvIters" ] pub fn IDAGetNumNonlinSolvIters ( ida_mem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNumNonlinSolvConvFails" ] pub fn IDAGetNumNonlinSolvConvFails ( ida_mem : * mut :: std :: os :: raw :: c_void , nncfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_IDAGetNonlinSolvStats" ] pub fn IDAGetNonlinSolvStats ( ida_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" { # [ link_name = "\u{1}_IDAGetReturnFlagName" ] pub fn IDAGetReturnFlagName ( flag : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_IDAFree" ] pub fn IDAFree ( ida_mem : * mut * mut :: std :: os :: raw :: c_void ) ; } extern "C" { # [ link_name = "\u{1}_IDASetNonlinearSolver" ] pub fn IDASetNonlinearSolver ( ida_mem : * mut :: std :: os :: raw :: c_void , NLS : SUNNonlinearSolver ) -> :: std :: os :: raw :: c_int ; } pub type KINLsJacFn = :: std :: option :: Option < unsafe extern "C" fn ( u : N_Vector , fu : N_Vector , J : SUNMatrix , user_data : * mut :: std :: os :: raw :: c_void , tmp1 : N_Vector , tmp2 : N_Vector ) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSetupFn = :: std :: option :: Option < unsafe extern "C" fn ( uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , user_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type KINLsPrecSolveFn = :: std :: option :: Option < unsafe extern "C" fn ( uu : N_Vector , uscale : N_Vector , fval : N_Vector , fscale : N_Vector , vv : N_Vector , user_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type KINLsJacTimesVecFn = :: std :: option :: Option < unsafe extern "C" fn ( v : N_Vector , Jv : N_Vector , uu : N_Vector , new_uu : * mut :: std :: os :: raw :: c_int , J_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ link_name = "\u{1}_KINSetLinearSolver" ] pub fn KINSetLinearSolver ( kinmem : * mut :: std :: os :: raw :: c_void , LS : SUNLinearSolver , A : SUNMatrix ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetJacFn" ] pub fn KINSetJacFn ( kinmem : * mut :: std :: os :: raw :: c_void , jac : KINLsJacFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetPreconditioner" ] pub fn KINSetPreconditioner ( kinmem : * mut :: std :: os :: raw :: c_void , psetup : KINLsPrecSetupFn , psolve : KINLsPrecSolveFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetJacTimesVecFn" ] pub fn KINSetJacTimesVecFn ( kinmem : * mut :: std :: os :: raw :: c_void , jtv : KINLsJacTimesVecFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetLinWorkSpace" ] pub fn KINGetLinWorkSpace ( kinmem : * mut :: std :: os :: raw :: c_void , lenrwLS : * mut :: std :: os :: raw :: c_long , leniwLS : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumJacEvals" ] pub fn KINGetNumJacEvals ( kinmem : * mut :: std :: os :: raw :: c_void , njevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumLinFuncEvals" ] pub fn KINGetNumLinFuncEvals ( kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumPrecEvals" ] pub fn KINGetNumPrecEvals ( kinmem : * mut :: std :: os :: raw :: c_void , npevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumPrecSolves" ] pub fn KINGetNumPrecSolves ( kinmem : * mut :: std :: os :: raw :: c_void , npsolves : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumLinIters" ] pub fn KINGetNumLinIters ( kinmem : * mut :: std :: os :: raw :: c_void , nliters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumLinConvFails" ] pub fn KINGetNumLinConvFails ( kinmem : * mut :: std :: os :: raw :: c_void , nlcfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumJtimesEvals" ] pub fn KINGetNumJtimesEvals ( kinmem : * mut :: std :: os :: raw :: c_void , njvevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetLastLinFlag" ] pub fn KINGetLastLinFlag ( kinmem : * mut :: std :: os :: raw :: c_void , flag : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetLinReturnFlagName" ] pub fn KINGetLinReturnFlagName ( flag : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_char ; } pub type KINSysFn = :: std :: option :: Option < unsafe extern "C" fn ( uu : N_Vector , fval : N_Vector , user_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type KINErrHandlerFn = :: std :: option :: Option < unsafe extern "C" fn ( error_code : :: std :: os :: raw :: c_int , module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void ) > ; pub type KINInfoHandlerFn = :: std :: option :: Option < unsafe extern "C" fn ( module : * const :: std :: os :: raw :: c_char , function : * const :: std :: os :: raw :: c_char , msg : * mut :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { # [ link_name = "\u{1}_KINCreate" ] pub fn KINCreate ( ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ link_name = "\u{1}_KINSetErrHandlerFn" ] pub fn KINSetErrHandlerFn ( kinmem : * mut :: std :: os :: raw :: c_void , ehfun : KINErrHandlerFn , eh_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetErrFile" ] pub fn KINSetErrFile ( kinmem : * mut :: std :: os :: raw :: c_void , errfp : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetInfoHandlerFn" ] pub fn KINSetInfoHandlerFn ( kinmem : * mut :: std :: os :: raw :: c_void , ihfun : KINInfoHandlerFn , ih_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetInfoFile" ] pub fn KINSetInfoFile ( kinmem : * mut :: std :: os :: raw :: c_void , infofp : * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetUserData" ] pub fn KINSetUserData ( kinmem : * mut :: std :: os :: raw :: c_void , user_data : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetPrintLevel" ] pub fn KINSetPrintLevel ( kinmemm : * mut :: std :: os :: raw :: c_void , printfl : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetMAA" ] pub fn KINSetMAA ( kinmem : * mut :: std :: os :: raw :: c_void , maa : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetNumMaxIters" ] pub fn KINSetNumMaxIters ( kinmem : * mut :: std :: os :: raw :: c_void , mxiter : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetNoInitSetup" ] pub fn KINSetNoInitSetup ( kinmem : * mut :: std :: os :: raw :: c_void , noInitSetup : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetNoResMon" ] pub fn KINSetNoResMon ( kinmem : * mut :: std :: os :: raw :: c_void , noNNIResMon : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetMaxSetupCalls" ] pub fn KINSetMaxSetupCalls ( kinmem : * mut :: std :: os :: raw :: c_void , msbset : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetMaxSubSetupCalls" ] pub fn KINSetMaxSubSetupCalls ( kinmem : * mut :: std :: os :: raw :: c_void , msbsetsub : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetEtaForm" ] pub fn KINSetEtaForm ( kinmem : * mut :: std :: os :: raw :: c_void , etachoice : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetEtaConstValue" ] pub fn KINSetEtaConstValue ( kinmem : * mut :: std :: os :: raw :: c_void , eta : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetEtaParams" ] pub fn KINSetEtaParams ( kinmem : * mut :: std :: os :: raw :: c_void , egamma : realtype , ealpha : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetResMonParams" ] pub fn KINSetResMonParams ( kinmem : * mut :: std :: os :: raw :: c_void , omegamin : realtype , omegamax : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetResMonConstValue" ] pub fn KINSetResMonConstValue ( kinmem : * mut :: std :: os :: raw :: c_void , omegaconst : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetNoMinEps" ] pub fn KINSetNoMinEps ( kinmem : * mut :: std :: os :: raw :: c_void , noMinEps : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetMaxNewtonStep" ] pub fn KINSetMaxNewtonStep ( kinmem : * mut :: std :: os :: raw :: c_void , mxnewtstep : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetMaxBetaFails" ] pub fn KINSetMaxBetaFails ( kinmem : * mut :: std :: os :: raw :: c_void , mxnbcf : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetRelErrFunc" ] pub fn KINSetRelErrFunc ( kinmem : * mut :: std :: os :: raw :: c_void , relfunc : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetFuncNormTol" ] pub fn KINSetFuncNormTol ( kinmem : * mut :: std :: os :: raw :: c_void , fnormtol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetScaledStepTol" ] pub fn KINSetScaledStepTol ( kinmem : * mut :: std :: os :: raw :: c_void , scsteptol : realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetConstraints" ] pub fn KINSetConstraints ( kinmem : * mut :: std :: os :: raw :: c_void , constraints : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSetSysFunc" ] pub fn KINSetSysFunc ( kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINInit" ] pub fn KINInit ( kinmem : * mut :: std :: os :: raw :: c_void , func : KINSysFn , tmpl : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINSol" ] pub fn KINSol ( kinmem : * mut :: std :: os :: raw :: c_void , uu : N_Vector , strategy : :: std :: os :: raw :: c_int , u_scale : N_Vector , f_scale : N_Vector ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetWorkSpace" ] pub fn KINGetWorkSpace ( kinmem : * mut :: std :: os :: raw :: c_void , lenrw : * mut :: std :: os :: raw :: c_long , leniw : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumNonlinSolvIters" ] pub fn KINGetNumNonlinSolvIters ( kinmem : * mut :: std :: os :: raw :: c_void , nniters : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumFuncEvals" ] pub fn KINGetNumFuncEvals ( kinmem : * mut :: std :: os :: raw :: c_void , nfevals : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumBetaCondFails" ] pub fn KINGetNumBetaCondFails ( kinmem : * mut :: std :: os :: raw :: c_void , nbcfails : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetNumBacktrackOps" ] pub fn KINGetNumBacktrackOps ( kinmem : * mut :: std :: os :: raw :: c_void , nbacktr : * mut :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetFuncNorm" ] pub fn KINGetFuncNorm ( kinmem : * mut :: std :: os :: raw :: c_void , fnorm : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetStepLength" ] pub fn KINGetStepLength ( kinmem : * mut :: std :: os :: raw :: c_void , steplength : * mut realtype ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ link_name = "\u{1}_KINGetReturnFlagName" ] pub fn KINGetReturnFlagName ( flag : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { # [ link_name = "\u{1}_KINFree" ] pub fn KINFree ( kinmem : * mut * mut :: std :: os :: raw :: c_void ) ; } pub type __builtin_va_list = [ __va_list_tag ; 1usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout___va_list_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __va_list_tag > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __va_list_tag > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . gp_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( gp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . fp_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( fp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . overflow_arg_area as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( overflow_arg_area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . reg_save_area as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( reg_save_area ) ) ) ; }