[INFO] fetching crate sapiens-sys 0.2.0... [INFO] checking sapiens-sys-0.2.0 against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] extracting crate sapiens-sys 0.2.0 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate sapiens-sys 0.2.0 on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate sapiens-sys 0.2.0 [INFO] finished tweaking crates.io crate sapiens-sys 0.2.0 [INFO] tweaked toml for crates.io crate sapiens-sys 0.2.0 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 21ad27f2f407752812bc47e6db131388dfb9c158febf398c5537f1be99b66a98 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "21ad27f2f407752812bc47e6db131388dfb9c158febf398c5537f1be99b66a98"` [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling cc v1.0.52 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling proc-macro2 v1.0.10 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling bindgen v0.51.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling quote v1.0.4 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling clang-sys v0.28.1 [INFO] [stderr] Compiling cexpr v0.3.6 [INFO] [stderr] Compiling regex v1.3.7 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling sapiens-sys v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0428]: the name `FP_NAN` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:38977 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ---------------------------- previous definition of the value `FP_NAN` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_NAN` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_NAN` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_INFINITE` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39016 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | --------------------------------- previous definition of the value `FP_INFINITE` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_INFINITE` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_INFINITE` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_ZERO` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39060 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ----------------------------- previous definition of the value `FP_ZERO` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_ZERO` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_ZERO` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_SUBNORMAL` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39100 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ---------------------------------- previous definition of the value `FP_SUBNORMAL` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_SUBNORMAL` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_SUBNORMAL` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_NORMAL` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39145 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ------------------------------- previous definition of the value `FP_NORMAL` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_NORMAL` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_NORMAL` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_NAN` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:38977 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ---------------------------- previous definition of the value `FP_NAN` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_NAN` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_NAN` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_INFINITE` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39016 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | --------------------------------- previous definition of the value `FP_INFINITE` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_INFINITE` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_INFINITE` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_ZERO` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39060 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ----------------------------- previous definition of the value `FP_ZERO` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_ZERO` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_ZERO` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_SUBNORMAL` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39100 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ---------------------------------- previous definition of the value `FP_SUBNORMAL` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_SUBNORMAL` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_SUBNORMAL` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error[E0428]: the name `FP_NORMAL` is defined multiple times [INFO] [stderr] --> /opt/rustwide/target/debug/build/sapiens-sys-a8385bf8e9b9a1f4/out/bindings.rs:3:39145 [INFO] [stderr] | [INFO] [stderr] 3 | pub const _STDINT_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 _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 true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _MATH_H : u32 = 1 ; pub const _BITS_LIBM_SIMD_DECL_STUBS_H : u32 = 1 ; pub const __HAVE_FLOAT128 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128 : u32 = 0 ; pub const __HAVE_FLOAT64X : u32 = 1 ; pub const __HAVE_FLOAT64X_LONG_DOUBLE : u32 = 1 ; pub const __HAVE_FLOAT16 : u32 = 0 ; pub const __HAVE_FLOAT32 : u32 = 1 ; pub const __HAVE_FLOAT64 : u32 = 1 ; pub const __HAVE_FLOAT32X : u32 = 1 ; pub const __HAVE_FLOAT128X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT16 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64 : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT32X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT64X : u32 = 0 ; pub const __HAVE_DISTINCT_FLOAT128X : u32 = 0 ; pub const __HAVE_FLOATN_NOT_TYPEDEF : u32 = 0 ; pub const __FP_LOGB0_IS_MIN : u32 = 1 ; pub const __FP_LOGBNAN_IS_MIN : u32 = 1 ; pub const FP_ILOGB0 : i32 = -2147483648 ; pub const FP_ILOGBNAN : i32 = -2147483648 ; pub const __MATH_DECLARING_DOUBLE : u32 = 1 ; pub const __MATH_DECLARING_FLOATN : u32 = 0 ; pub const __MATH_DECLARE_LDOUBLE : u32 = 1 ; pub const FP_NAN : u32 = 0 ; pub const FP_INFINITE : u32 = 1 ; pub const FP_ZERO : u32 = 2 ; pub const FP_SUBNORMAL : u32 = 3 ; pub const FP_NORMAL : u32 = 4 ; pub const MATH_ERRNO : u32 = 1 ; pub const MATH_ERREXCEPT : u32 = 2 ; pub const math_errhandling : u32 = 3 ; pub const M_E : f64 = 2.718281828459045 ; pub const M_LOG2E : f64 = 1.4426950408889634 ; pub const M_LOG10E : f64 = 0.4342944819032518 ; pub const M_LN2 : f64 = 0.6931471805599453 ; pub const M_LN10 : f64 = 2.302585092994046 ; pub const M_PI : f64 = 3.141592653589793 ; pub const M_PI_2 : f64 = 1.5707963267948966 ; pub const M_PI_4 : f64 = 0.7853981633974483 ; pub const M_1_PI : f64 = 0.3183098861837907 ; pub const M_2_PI : f64 = 0.6366197723675814 ; pub const M_2_SQRTPI : f64 = 1.1283791670955126 ; pub const M_SQRT2 : f64 = 1.4142135623730951 ; pub const M_SQRT1_2 : f64 = 0.7071067811865476 ; pub const SP_RENDER_SCALE : f64 = 100000.0 ; 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 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 _Float32 = f32 ; pub type _Float64 = f64 ; pub type _Float32x = f64 ; pub type _Float64x = u128 ; pub type float_t = f32 ; pub type double_t = f64 ; extern "C" { pub fn __fpclassify ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbit ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsig ( __x : f64 , __y : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignaling ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acos ( __x : f64 ) -> f64 ; } extern "C" { pub fn asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asin ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atan ( __x : f64 ) -> f64 ; } extern "C" { pub fn atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn __atan2 ( __y : f64 , __x : f64 ) -> f64 ; } extern "C" { pub fn cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cos ( __x : f64 ) -> f64 ; } extern "C" { pub fn sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sin ( __x : f64 ) -> f64 ; } extern "C" { pub fn tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tan ( __x : f64 ) -> f64 ; } extern "C" { pub fn cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __tanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __acosh ( __x : f64 ) -> f64 ; } extern "C" { pub fn asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __asinh ( __x : f64 ) -> f64 ; } extern "C" { pub fn atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn __atanh ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp ( __x : f64 ) -> f64 ; } extern "C" { pub fn frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __frexp ( __x : f64 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __ldexp ( __x : f64 , __exponent : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn log ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log ( __x : f64 ) -> f64 ; } extern "C" { pub fn log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log10 ( __x : f64 ) -> f64 ; } extern "C" { pub fn modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn __modf ( __x : f64 , __iptr : * mut f64 ) -> f64 ; } extern "C" { pub fn expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __expm1 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log1p ( __x : f64 ) -> f64 ; } extern "C" { pub fn logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn __logb ( __x : f64 ) -> f64 ; } extern "C" { pub fn exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __exp2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn __log2 ( __x : f64 ) -> f64 ; } extern "C" { pub fn pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __pow ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __sqrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __hypot ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn __cbrt ( __x : f64 ) -> f64 ; } extern "C" { pub fn ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn __ceil ( __x : f64 ) -> f64 ; } extern "C" { pub fn fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn __fabs ( __x : f64 ) -> f64 ; } extern "C" { pub fn floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn __floor ( __x : f64 ) -> f64 ; } extern "C" { pub fn fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmod ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn isinf ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finite ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __drem ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn __significand ( __x : f64 ) -> f64 ; } extern "C" { pub fn copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __copysign ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn __nan ( __tagb : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn isnan ( __value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __j1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __jn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y0 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __y1 ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn __yn ( arg1 : :: std :: os :: raw :: c_int , arg2 : f64 ) -> f64 ; } extern "C" { pub fn erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erf ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __erfc ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __lgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __tgamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn __gamma ( arg1 : f64 ) -> f64 ; } extern "C" { pub fn lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __lgamma_r ( arg1 : f64 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __rint ( __x : f64 ) -> f64 ; } extern "C" { pub fn nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __nextafter ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn __nexttoward ( __x : f64 , __y : u128 ) -> f64 ; } extern "C" { pub fn remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __remainder ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __scalbn ( __x : f64 , __n : :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogb ( __x : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn __scalbln ( __x : f64 , __n : :: std :: os :: raw :: c_long ) -> f64 ; } extern "C" { pub fn nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn __nearbyint ( __x : f64 ) -> f64 ; } extern "C" { pub fn round ( __x : f64 ) -> f64 ; } extern "C" { pub fn __round ( __x : f64 ) -> f64 ; } extern "C" { pub fn trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn __trunc ( __x : f64 ) -> f64 ; } extern "C" { pub fn remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn __remquo ( __x : f64 , __y : f64 , __quo : * mut :: std :: os :: raw :: c_int ) -> f64 ; } extern "C" { pub fn lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrint ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrint ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lround ( __x : f64 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llround ( __x : f64 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fdim ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmax ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn __fmin ( __x : f64 , __y : f64 ) -> f64 ; } extern "C" { pub fn fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn __fma ( __x : f64 , __y : f64 , __z : f64 ) -> f64 ; } extern "C" { pub fn scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __scalb ( __x : f64 , __n : f64 ) -> f64 ; } extern "C" { pub fn __fpclassifyf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigf ( __x : f32 , __y : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn __atan2f ( __y : f32 , __x : f32 ) -> f32 ; } extern "C" { pub fn cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cosf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanf ( __x : f32 ) -> f32 ; } extern "C" { pub fn coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __coshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __tanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __acoshf ( __x : f32 ) -> f32 ; } extern "C" { pub fn asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __asinhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __atanhf ( __x : f32 ) -> f32 ; } extern "C" { pub fn expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expf ( __x : f32 ) -> f32 ; } extern "C" { pub fn frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __frexpf ( __x : f32 , __exponent : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __ldexpf ( __x : f32 , __exponent : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logf ( __x : f32 ) -> f32 ; } extern "C" { pub fn log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log10f ( __x : f32 ) -> f32 ; } extern "C" { pub fn modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn __modff ( __x : f32 , __iptr : * mut f32 ) -> f32 ; } extern "C" { pub fn expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __expm1f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log1pf ( __x : f32 ) -> f32 ; } extern "C" { pub fn logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __logbf ( __x : f32 ) -> f32 ; } extern "C" { pub fn exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __exp2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn __log2f ( __x : f32 ) -> f32 ; } extern "C" { pub fn powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __powf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __sqrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __hypotf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __cbrtf ( __x : f32 ) -> f32 ; } extern "C" { pub fn ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __ceilf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __fabsf ( __x : f32 ) -> f32 ; } extern "C" { pub fn floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __floorf ( __x : f32 ) -> f32 ; } extern "C" { pub fn fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmodf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn isinff ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitef ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __dremf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __significandf ( __x : f32 ) -> f32 ; } extern "C" { pub fn copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __copysignf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn __nanf ( __tagb : * const :: std :: os :: raw :: c_char ) -> f32 ; } extern "C" { pub fn isnanf ( __value : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __j1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __jnf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y0f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __y1f ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn __ynf ( arg1 : :: std :: os :: raw :: c_int , arg2 : f32 ) -> f32 ; } extern "C" { pub fn erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erff ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __erfcf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __lgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __tgammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn __gammaf ( arg1 : f32 ) -> f32 ; } extern "C" { pub fn lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __lgammaf_r ( arg1 : f32 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __rintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __nextafterf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn __nexttowardf ( __x : f32 , __y : u128 ) -> f32 ; } extern "C" { pub fn remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __remainderf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __scalbnf ( __x : f32 , __n : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbf ( __x : f32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn __scalblnf ( __x : f32 , __n : :: std :: os :: raw :: c_long ) -> f32 ; } extern "C" { pub fn nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __nearbyintf ( __x : f32 ) -> f32 ; } extern "C" { pub fn roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __roundf ( __x : f32 ) -> f32 ; } extern "C" { pub fn truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn __truncf ( __x : f32 ) -> f32 ; } extern "C" { pub fn remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn __remquof ( __x : f32 , __y : f32 , __quo : * mut :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundf ( __x : f32 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundf ( __x : f32 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fdimf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fmaxf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn __fminf ( __x : f32 , __y : f32 ) -> f32 ; } extern "C" { pub fn fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn __fmaf ( __x : f32 , __y : f32 , __z : f32 ) -> f32 ; } extern "C" { pub fn scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __scalbf ( __x : f32 , __n : f32 ) -> f32 ; } extern "C" { pub fn __fpclassifyl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __signbitl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __iseqsigl ( __x : u128 , __y : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __issignalingl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn __atan2l ( __y : u128 , __x : u128 ) -> u128 ; } extern "C" { pub fn cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cosl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanl ( __x : u128 ) -> u128 ; } extern "C" { pub fn coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __coshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __tanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __acoshl ( __x : u128 ) -> u128 ; } extern "C" { pub fn asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __asinhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __atanhl ( __x : u128 ) -> u128 ; } extern "C" { pub fn expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expl ( __x : u128 ) -> u128 ; } extern "C" { pub fn frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __frexpl ( __x : u128 , __exponent : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __ldexpl ( __x : u128 , __exponent : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logl ( __x : u128 ) -> u128 ; } extern "C" { pub fn log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log10l ( __x : u128 ) -> u128 ; } extern "C" { pub fn modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn __modfl ( __x : u128 , __iptr : * mut u128 ) -> u128 ; } extern "C" { pub fn expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __expm1l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log1pl ( __x : u128 ) -> u128 ; } extern "C" { pub fn logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __logbl ( __x : u128 ) -> u128 ; } extern "C" { pub fn exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __exp2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn __log2l ( __x : u128 ) -> u128 ; } extern "C" { pub fn powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __powl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __sqrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __hypotl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __cbrtl ( __x : u128 ) -> u128 ; } extern "C" { pub fn ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn __ceill ( __x : u128 ) -> u128 ; } extern "C" { pub fn fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __fabsl ( __x : u128 ) -> u128 ; } extern "C" { pub fn floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __floorl ( __x : u128 ) -> u128 ; } extern "C" { pub fn fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmodl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn isinfl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn finitel ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __dreml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __significandl ( __x : u128 ) -> u128 ; } extern "C" { pub fn copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __copysignl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn __nanl ( __tagb : * const :: std :: os :: raw :: c_char ) -> u128 ; } extern "C" { pub fn isnanl ( __value : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __j1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __jnl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y0l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __y1l ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn __ynl ( arg1 : :: std :: os :: raw :: c_int , arg2 : u128 ) -> u128 ; } extern "C" { pub fn erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __erfcl ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __lgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __tgammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn __gammal ( arg1 : u128 ) -> u128 ; } extern "C" { pub fn lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __lgammal_r ( arg1 : u128 , __signgamp : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __rintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nextafterl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __nexttowardl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __remainderl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __scalbnl ( __x : u128 , __n : :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __ilogbl ( __x : u128 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn __scalblnl ( __x : u128 , __n : :: std :: os :: raw :: c_long ) -> u128 ; } extern "C" { pub fn nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __nearbyintl ( __x : u128 ) -> u128 ; } extern "C" { pub fn roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __roundl ( __x : u128 ) -> u128 ; } extern "C" { pub fn truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn __truncl ( __x : u128 ) -> u128 ; } extern "C" { pub fn remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn __remquol ( __x : u128 , __y : u128 , __quo : * mut :: std :: os :: raw :: c_int ) -> u128 ; } extern "C" { pub fn lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lrintl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llrintl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn __lroundl ( __x : u128 ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn __llroundl ( __x : u128 ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { pub fn fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fdiml ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fmaxl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn __fminl ( __x : u128 , __y : u128 ) -> u128 ; } extern "C" { pub fn fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn __fmal ( __x : u128 , __y : u128 , __z : u128 ) -> u128 ; } extern "C" { pub fn scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub fn __scalbl ( __x : u128 , __n : u128 ) -> u128 ; } extern "C" { pub static mut signgam : :: std :: os :: raw :: c_int ; } pub const FP_NAN : _bindgen_ty_1 = 0 ; pub const FP_INFINITE : _bindgen_ty_1 = 1 ; pub const FP_ZERO : _bindgen_ty_1 = 2 ; pub const FP_SUBNORMAL : _bindgen_ty_1 = 3 ; pub const FP_NORMAL : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec2 { pub x : f64 , pub y : f64 , } # [ test ] fn bindgen_test_layout_SPVec2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec2 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec2 ) , "::" , stringify ! ( y ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec3 { pub x : f64 , pub y : f64 , pub z : f64 , } # [ test ] fn bindgen_test_layout_SPVec3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec3 > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec3 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec3 ) , "::" , stringify ! ( z ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPVec4 { pub x : f64 , pub y : f64 , pub z : f64 , pub w : f64 , } # [ test ] fn bindgen_test_layout_SPVec4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPVec4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPVec4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPVec4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . x as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( x ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . y as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( y ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . z as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( z ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPVec4 > ( ) ) ) . w as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPVec4 ) , "::" , stringify ! ( w ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat3 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , } # [ test ] fn bindgen_test_layout_SPMat3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat3 > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat3 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat3 ) , "::" , stringify ! ( m8 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPMat4 { pub m0 : f64 , pub m1 : f64 , pub m2 : f64 , pub m3 : f64 , pub m4 : f64 , pub m5 : f64 , pub m6 : f64 , pub m7 : f64 , pub m8 : f64 , pub m9 : f64 , pub m10 : f64 , pub m11 : f64 , pub m12 : f64 , pub m13 : f64 , pub m14 : f64 , pub m15 : f64 , } # [ test ] fn bindgen_test_layout_SPMat4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPMat4 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPMat4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPMat4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m3 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m4 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m5 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m6 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m7 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m8 as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m9 as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m10 as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m11 as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m12 as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m13 as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m14 as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPMat4 > ( ) ) ) . m15 as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( SPMat4 ) , "::" , stringify ! ( m15 ) ) ) ; } extern "C" { pub static spMat3IdentityMatrix : SPMat3 ; } extern "C" { pub fn spMin ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spMax ( x : f64 , y : f64 ) -> f64 ; } extern "C" { pub fn spClamp ( x : f64 , minVal : f64 , maxVal : f64 ) -> f64 ; } extern "C" { pub fn spMix ( x : f64 , y : f64 , a : f64 ) -> f64 ; } extern "C" { pub fn spSmoothStep ( edge0 : f64 , edge1 : f64 , x : f64 ) -> f64 ; } extern "C" { pub fn spVec2Add ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Sub ( a : SPVec2 , b : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec2Mul ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Div ( a : SPVec2 , b : f64 ) -> SPVec2 ; } extern "C" { pub fn spVec2Neg ( a : SPVec2 ) -> SPVec2 ; } extern "C" { pub fn spVec3Add ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Sub ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Mul ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Div ( a : SPVec3 , b : f64 ) -> SPVec3 ; } extern "C" { pub fn spVec3Neg ( a : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec4Add ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Sub ( a : SPVec4 , b : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec4Mul ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Div ( a : SPVec4 , b : f64 ) -> SPVec4 ; } extern "C" { pub fn spVec4Neg ( a : SPVec4 ) -> SPVec4 ; } extern "C" { pub fn spVec3Normalize ( v : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Dot ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Cross ( a : SPVec3 , b : SPVec3 ) -> SPVec3 ; } extern "C" { pub fn spVec3Length ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Length2 ( v : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3Distance2 ( a : SPVec3 , b : SPVec3 ) -> f64 ; } extern "C" { pub fn spVec3xMat3 ( v : SPVec3 , m : SPMat3 ) -> SPVec3 ; } extern "C" { pub fn spQuatCast ( m : * mut SPMat3 ) -> SPVec4 ; } extern "C" { pub fn spMat3Cast ( qP : * mut SPVec4 , result : * mut SPMat3 ) ; } extern "C" { pub fn spQuatSlerp ( a : SPVec4 , b : SPVec4 , x : f64 ) -> SPVec4 ; } extern "C" { pub fn spMat3Identity ( ) -> SPMat3 ; } extern "C" { pub fn spMat3Rotate ( m : SPMat3 , angle : f64 , axis : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Inverse ( m : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Multiply ( a : SPMat3 , b : SPMat3 ) -> SPMat3 ; } extern "C" { pub fn spMat3Slerp ( a : SPMat3 , b : SPMat3 , fraction : f64 ) -> SPMat3 ; } extern "C" { pub fn spMat3GetRow ( m : SPMat3 , rowIndex : :: std :: os :: raw :: c_int ) -> SPVec3 ; } extern "C" { pub fn spMat3FromVec3s ( a : SPVec3 , b : SPVec3 , c : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3LookAtInverse ( look : SPVec3 , up : SPVec3 ) -> SPMat3 ; } extern "C" { pub fn spMat3RotatePtr ( m : * mut SPMat3 , angle : f64 , axis : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3LookAtInversePtr ( look : * mut SPVec3 , up : * mut SPVec3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3InversePtr ( m : * mut SPMat3 , result : * mut SPMat3 ) ; } extern "C" { pub fn spMat3SlerpPtr ( a : * mut SPMat3 , b : * mut SPMat3 , fraction : f64 , result : * mut SPMat3 ) ; } extern "C" { pub fn spPointIsLeftOfLine ( p1 : SPVec3 , a : SPVec3 , b : SPVec3 ) -> bool ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPWorldGenOptions { pub heightOffset : f64 , pub rainfallMultiplier : f64 , pub temperatureOffset : f64 , pub scales : SPVec3 , pub influences : SPVec3 , } # [ test ] fn bindgen_test_layout_SPWorldGenOptions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPWorldGenOptions > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPWorldGenOptions > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPWorldGenOptions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . heightOffset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( heightOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . rainfallMultiplier as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( rainfallMultiplier ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . temperatureOffset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( temperatureOffset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . scales as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( scales ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPWorldGenOptions > ( ) ) ) . influences as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPWorldGenOptions ) , "::" , stringify ! ( influences ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPBiomeType { pub normalTerrainType : i16 , pub secondaryTerrainType : i16 , pub rockTerrainType : i16 , pub beachTerrainType : i16 , pub vegetationStrippedTerrainType : i16 , pub _padding : [ i16 ; 3usize ] , } # [ test ] fn bindgen_test_layout_SPBiomeType ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPBiomeType > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPBiomeType > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( SPBiomeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . normalTerrainType as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( normalTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . secondaryTerrainType as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( secondaryTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . rockTerrainType as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( rockTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . beachTerrainType as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( beachTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . vegetationStrippedTerrainType as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( vegetationStrippedTerrainType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPBiomeType > ( ) ) ) . _padding as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( SPBiomeType ) , "::" , stringify ! ( _padding ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPNoise { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spNoiseNew ( seed : :: std :: os :: raw :: c_int , persistance : f64 ) -> * mut SPNoise ; } extern "C" { pub fn spNoiseDelete ( noise : * mut SPNoise ) ; } extern "C" { pub fn spNoiseGet ( noise : * mut SPNoise , vec : SPVec3 , endOctave : :: std :: os :: raw :: c_int ) -> f64 ; } pub type SPBiomeGetBiomeTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetBiomeType ( climateType : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type SPBiomeGetSurfaceTypeFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spBiomeGetSurfaceType ( noise : * mut SPNoise , biomeTypes : * mut SPBiomeType , pointNormal : SPVec3 , noiseLoc : SPVec3 , biomeType : :: std :: os :: raw :: c_int , vegetationState : :: std :: os :: raw :: c_int , altitude : f64 , steepness : f32 , riverDistance : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPClimateGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spClimateGet ( temperatureSummer : f32 , temperatureWinter : f32 , rainfallSummer : f32 , rainfallWinter : f32 ) -> :: std :: os :: raw :: c_int ; } pub type SPHeightGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 > ; extern "C" { pub fn spHeightGet ( noise1 : * mut SPNoise , noise2 : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverValue : f64 , riverDistance : f64 ) -> SPVec4 ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPRand { _unused : [ u8 ; 0 ] , } extern "C" { pub fn spRandNew ( seed : u32 ) -> * mut SPRand ; } extern "C" { pub fn spRandDelete ( spRand : * mut SPRand ) ; } extern "C" { pub fn spRandGetVec3 ( spRand : * mut SPRand ) -> SPVec3 ; } extern "C" { pub fn spRandGetValue ( spRand : * mut SPRand ) -> f64 ; } pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_float : SPRenderGroupVertexDescriptionType = 0 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec2 : SPRenderGroupVertexDescriptionType = 1 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec3 : SPRenderGroupVertexDescriptionType = 2 ; pub const SPRenderGroupVertexDescriptionType_SPRenderGroupVertexDescriptionType_vec4 : SPRenderGroupVertexDescriptionType = 3 ; pub type SPRenderGroupVertexDescriptionType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleRenderGroupInfo { pub shaderName : * mut :: std :: os :: raw :: c_char , pub localID : u32 , pub vertexDescriptionTypeCount : :: std :: os :: raw :: c_int , pub vertexDescriptionTypes : * mut :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_SPParticleRenderGroupInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleRenderGroupInfo > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleRenderGroupInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleRenderGroupInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . shaderName as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( shaderName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( localID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypeCount as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypeCount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleRenderGroupInfo > ( ) ) ) . vertexDescriptionTypes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleRenderGroupInfo ) , "::" , stringify ! ( vertexDescriptionTypes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterTypeInfo { pub name : * mut :: std :: os :: raw :: c_char , pub localID : u32 , } # [ test ] fn bindgen_test_layout_SPParticleEmitterTypeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterTypeInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterTypeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterTypeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . name as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterTypeInfo > ( ) ) ) . localID as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterTypeInfo ) , "::" , stringify ! ( localID ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleEmitterState { pub p : SPVec3 , pub rot : SPMat3 , pub timeAccumulatorA : f64 , pub timeAccumulatorB : f64 , pub userData : SPVec4 , pub globalType : u32 , pub counters : [ u8 ; 4usize ] , } # [ test ] fn bindgen_test_layout_SPParticleEmitterState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleEmitterState > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleEmitterState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleEmitterState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . rot as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( rot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorA as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . timeAccumulatorB as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( timeAccumulatorB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . userData as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . globalType as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( globalType ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleEmitterState > ( ) ) ) . counters as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleEmitterState ) , "::" , stringify ! ( counters ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleState { pub p : SPVec3 , pub v : SPVec3 , pub gravity : SPVec3 , pub lifeLeft : f64 , pub scale : f64 , pub randomValueA : f64 , pub randomValueB : f64 , pub userData : SPVec4 , pub particleTextureType : u32 , } # [ test ] fn bindgen_test_layout_SPParticleState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleState > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . v as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( v ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . gravity as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( gravity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . lifeLeft as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( lifeLeft ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . scale as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( scale ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueA as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . randomValueB as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( randomValueB ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . userData as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( userData ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleState > ( ) ) ) . particleTextureType as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleState ) , "::" , stringify ! ( particleTextureType ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SPParticleThreadState { pub particleManager : * mut :: std :: os :: raw :: c_void , pub addParticle : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void , arg2 : * mut SPParticleEmitterState , arg3 : u32 , arg4 : * mut SPParticleState ) > , pub spRand : * mut SPRand , pub spNoise : * mut SPNoise , } # [ test ] fn bindgen_test_layout_SPParticleThreadState ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SPParticleThreadState > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SPParticleThreadState > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SPParticleThreadState ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . particleManager as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( particleManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . addParticle as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( addParticle ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spRand as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spRand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < SPParticleThreadState > ( ) ) ) . spNoise as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( SPParticleThreadState ) , "::" , stringify ! ( spNoise ) ) ) ; } pub type SPGetEmitterTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetEmitterTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetEmitterTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleEmitterTypeInfo > ; extern "C" { pub fn spGetEmitterTypes ( ) -> * mut SPParticleEmitterTypeInfo ; } pub type SPGetRenderGroupTypesCountFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn spGetRenderGroupTypesCount ( ) -> :: std :: os :: raw :: c_int ; } pub type SPGetRenderGroupTypesFunc = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut SPParticleRenderGroupInfo > ; extern "C" { pub fn spGetRenderGroupTypes ( ) -> * mut SPParticleRenderGroupInfo ; } pub type SPEmitterWasAddedFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool > ; extern "C" { pub fn spEmitterWasAdded ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 ) -> bool ; } pub type SPUpdateEmitterFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) > ; extern "C" { pub fn spUpdateEmitter ( threadState : * mut SPParticleThreadState , emitterState : * mut SPParticleEmitterState , localEmitterTypeID : u32 , dt : f64 ) ; } pub type SPUpdateParticleFunc = :: std :: option :: Option < unsafe extern "C" fn ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool > ; extern "C" { pub fn spUpdateParticle ( threadState : * mut SPParticleThreadState , particleState : * mut SPParticleState , localRenderGroupTypeID : u32 , dt : f64 , origin : SPVec3 , renderBuffer : * mut f32 ) -> bool ; } pub type SPRainfallGetFunc = :: std :: option :: Option < unsafe extern "C" fn ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) > ; extern "C" { pub fn spRainfallGet ( noise : * mut SPNoise , pointNormal : SPVec3 , noiseLoc : SPVec3 , worldGenOptions : SPWorldGenOptions , riverDistance : f64 , pregenRainfall0 : f64 , pregenRainfall1 : f64 , outRainfall0 : * mut f64 , outRainfall1 : * mut f64 ) ; } [INFO] [stderr] | ------------------------------- previous definition of the value `FP_NORMAL` here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `FP_NORMAL` redefined here [INFO] [stderr] | [INFO] [stderr] = note: `FP_NORMAL` must be defined only once in the value namespace of this module [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0428`. [INFO] [stderr] error: could not compile `sapiens-sys`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0428`. [INFO] [stderr] error: could not compile `sapiens-sys`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "21ad27f2f407752812bc47e6db131388dfb9c158febf398c5537f1be99b66a98"` [INFO] running `"docker" "rm" "-f" "21ad27f2f407752812bc47e6db131388dfb9c158febf398c5537f1be99b66a98"` [INFO] [stdout] 21ad27f2f407752812bc47e6db131388dfb9c158febf398c5537f1be99b66a98