#![forbid(unsafe_code)]
mod array;
mod buffer;
mod cast;
mod device;
mod dtype;
mod error;
mod eval;
mod kernels;
mod ops;
mod primitive;
mod shape;
mod view;
pub use array::Array;
pub use device::{Device, DeviceKind, Stream, default_stream, set_default_stream};
pub use dtype::{Category, Complex64, DType, Element, at_least_float, bf16, f16, promote_types};
pub use error::{Error, Result};
pub use eval::eval;
pub use ops::{
abs, add, all, any, arange, argmax, argmin, astype, broadcast_to, cos, divide, equal, exp,
expand_dims, greater, greater_equal, less, less_equal, log, matmul, max, maximum, mean, min,
minimum, multiply, negative, not_equal, ones, prod, reshape, sigmoid, sin, slice, sqrt,
squeeze, subtract, sum, tanh, transpose, where_, zeros,
};
pub use primitive::{ArgReduceOp, BinaryOp, Primitive, ReduceOp, UnaryOp};
pub use shape::Flags;
pub use view::SliceArg;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");