#![forbid(unsafe_code)]
mod arena;
mod device;
mod domain;
mod dtype;
mod einsum;
mod error;
mod graph;
mod graph_view;
mod layout;
mod node;
mod scan_inline;
mod shape;
mod tensor;
mod value;
pub use arena::{Arena, ArenaKey};
pub use device::{DeviceId, DeviceType};
pub use domain::{AI_ONNX_DOMAIN, is_default_domain, normalize_domain};
pub use dtype::DataType;
pub use einsum::{
EinsumAxis, EinsumAxisRef, EinsumBinaryContractionPlan, EinsumBinaryLowering,
EinsumClassification, EinsumConcreteContractionTreeCandidate,
EinsumConcreteContractionTreePlan, EinsumConcreteGemmGeometry, EinsumConcretePlanError,
EinsumContractionCost, EinsumContractionPlan, EinsumContractionTreeCandidate,
EinsumContractionTreeCandidateId, EinsumContractionTreeCandidatePlan,
EinsumContractionTreeCandidateUnsupportedReason, EinsumContractionTreePlan,
EinsumContractionTreeStep, EinsumCostBound, EinsumCostMetric, EinsumDimension,
EinsumDimensionRule, EinsumDimensionValue, EinsumEquationSide, EinsumExecutionSelection,
EinsumGemmGeometry, EinsumGenericNativePlan, EinsumIndexProgram, EinsumInput,
EinsumIntegerOverflowSemantics, EinsumLabel, EinsumLogicalAxis, EinsumOperandAxis,
EinsumOperandIndexProgram, EinsumOperandPlan, EinsumOpsetPlanError, EinsumOverflowTarget,
EinsumPermutationPlan, EinsumPlan, EinsumPlanError, EinsumPlanErrorKind, EinsumPlannerBudget,
EinsumPlannerFallbackReason, EinsumPlannerQuality, EinsumPlannerUsage,
EinsumPlanningClassification, EinsumPrecisionPolicy, EinsumReductionPlan, EinsumResolveError,
EinsumResolvedContractionCost, EinsumSchema, EinsumSchemaError, EinsumSemanticPlan,
EinsumShapePlan, EinsumSupportedContractionTreeCandidate, EinsumTemporaryStoragePolicy,
EinsumTemporaryValuePlan, EinsumUnaryReductionPlan, EinsumUnsupportedReason, EinsumValueId,
};
pub use error::{GraphError, IrError, Result};
pub use graph::{Graph, ModelFunction, ModelFunctionKey};
pub use graph_view::{ConsumerUse, FrozenGraph, GraphView, GraphViewCache, NodeIndex, ValueIndex};
pub use layout::{
MemoryFormat, TensorLayout, broadcast_shapes, compute_contiguous_strides, is_contiguous,
is_dense,
};
pub use node::{Attribute, Node, NodeId, RUNTIME_DOMAIN};
pub use scan_inline::inline_single_trip_scan_bodies;
pub use shape::{
Dim, Shape, SymbolConstraints, SymbolId, as_static_shape, is_fully_static, static_shape,
};
pub use tensor::{
FromLeBytes, RawBytesError, SparseTensorData, TensorData, TypeProto, WeightRef,
checked_expected_bytes, checked_numel, read_scalar_le, read_vec_le,
};
pub use value::{Consumers, Usage, Value, ValueId};