wolfram_library_link_sys/lib.rs
1//! Automatically generated bindings to the Wolfram LibraryLink C API.
2
3#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types)]
4#![allow(deref_nullptr)]
5
6// `mcomplex` (the C ABI's `_Complex double`) is provided by `wolfram-expr` as
7// `Complex64` instead of being bindgen-generated, so the same complex type is
8// shared across the entire crate stack. The pre-generated bindings have the
9// auto-generated `pub struct mcomplex { ri: [f64; 2] }` block stripped (and
10// future bindgen runs blocklist it via `xtask`'s `--blocklist-type mcomplex`).
11//
12// `mcomplex` itself remains accessible at the original path via this re-export,
13// so existing `wolfram_library_link_sys::mcomplex` and
14// `wolfram_library_link::NumericArray<sys::mcomplex>` users see no API change.
15pub use wolfram_expr::Complex64 as mcomplex;
16
17// The name of this file comes from `build.rs`.
18include!(env!("CRATE_WOLFRAM_LIBRARYLINK_SYS_BINDINGS"));