mod builder;
mod builtins;
#[allow(clippy::module_inception)]
mod codegen;
mod module;
pub type WriteFunc<R> =
unsafe extern "C" fn(*const R, *mut R, *const u64, *const u64, u64, *const bool);
fn process_name_for_gen(name: &str) -> String {
name.replace(" ", "_")
.replace("⊗", "t")
.replace("†", "d")
.replace("^", "p")
.replace("⋅", "x")
}
pub use builder::CompilableUnit;
pub use builder::DifferentiationLevel;
pub use builder::ModuleBuilder;
pub use builder::{FUNCTION, GRADIENT, HESSIAN};
pub use module::Module;
pub use codegen::CodeGenerator;
use qudit_core::RealScalar;
pub struct WriteFuncWithLifeTime<'a, R: RealScalar> {
#[allow(dead_code)]
func: WriteFunc<R>,
_phantom: std::marker::PhantomData<&'a Module<R>>,
}