extern crate self as morok_ir;
pub mod decompositions;
pub mod error;
pub mod indexing;
pub mod kernel_info;
pub mod op;
pub mod prelude;
pub mod shape;
pub mod sint;
pub mod types;
pub mod uop;
pub mod provenance;
#[macro_use]
pub mod pattern;
pub mod rewrite;
#[cfg(any(test, feature = "proptest"))]
pub mod test;
pub use error::{Error, IndexTypeMismatchSnafu, Result};
pub use indexing::IndexSpec;
pub use op::Op;
pub use sint::{IntoShrinkRange, SInt, ShrinkRange, sint_max, sint_min, sint_prod};
pub use types::{
AddrSpace, AxisId, AxisType, BinaryOp, BufferizeOpts, ConstValue, ConstValueHash, ContiguousHint, ReduceOp,
TernaryOp, UnaryOp, WmmaMetadata, WmmaUpcastAxes,
};
pub use uop::{IntoUOp, UOp, UOpKey};
pub use pattern::{Matcher, RewriteResult, TypedPatternMatcher};
pub use rewrite::graph_rewrite;
pub use morok_dtype::DType;
pub use morok_dtype::DeviceSpec;