ariadnetor_core/lib.rs
1//! Core traits and types for ariadnetor tensor library
2//!
3//! This crate provides backend-agnostic abstractions:
4//! - `Scalar`: Element type trait (sealed to f32, f64, Complex<f32>, Complex<f64>)
5//! - `ComputeBackend`: Pluggable backend trait
6//! - `LabelId`: Interned tensor index labels
7//! - `EinsumExpr`, `ContractionPlan`: Einsum parsing and analysis
8
9#![deny(missing_docs)]
10
11pub mod backend;
12mod contraction_error;
13mod einsum;
14mod label;
15mod scalar;
16
17pub use backend::{ComputeBackend, ExecPolicy, MemoryOrder};
18pub use contraction_error::ContractionError;
19pub use einsum::{ContractionPlan, EinsumExpr, compute_permutation};
20pub use label::LabelId;
21pub use scalar::Scalar;
22
23// Re-export num_complex for user convenience
24pub use num_complex::Complex;