1#![allow(clippy::len_zero)]
2#![allow(clippy::missing_safety_doc)]
3
4pub extern crate itertools;
5
6#[macro_use]
7mod macros;
8
9pub type TVec<T> = smallvec::SmallVec<[T; 4]>;
14
15pub type TractError = anyhow::Error;
16pub type TractResult<T> = anyhow::Result<T>;
17
18pub mod prelude {
19 pub use crate::TVec;
20 pub use crate::blob::Blob;
21 pub use crate::datum::{Datum, DatumType, QParams, round_ties_to_even};
22 pub use crate::dim::{Symbol, SymbolScope, SymbolValues, TDim, ToDim};
23 pub use crate::opaque::Opaque;
24 pub use crate::tensor::dense_view::{DenseView, DenseViewMut};
25 pub use crate::tensor::litteral::*;
26 pub use crate::tensor::storage::{DenseStorage, TensorStorage};
27 pub use crate::tensor::{IntoArcTensor, IntoTensor, Tensor, natural_strides};
28 #[cfg(feature = "complex")]
29 pub use crate::tensor::{reinterpret_complex_as_inner_dim, reinterpret_inner_dim_as_complex};
30 pub use crate::tvec;
31 pub use crate::{TractError, TractResult};
32 pub use crate::{
33 dispatch_copy, dispatch_copy_by_size, dispatch_datum, dispatch_datum_by_size,
34 dispatch_floatlike, dispatch_hash, dispatch_numbers, dispatch_signed,
35 };
36 pub use half::f16;
37 pub use itertools as tract_itertools;
38 #[cfg(feature = "complex")]
39 pub use num_complex::Complex;
40}
41
42pub mod internal {
43 pub use crate::datum::ClampCast;
44 pub use crate::dim::{DimLike, parse_tdim, solve_for};
45 pub use crate::opaque::{BlobWithFact, OpaqueFact, OpaquePayload};
46 pub use crate::prelude::*;
47 pub use crate::tensor::Approximation;
48 pub use crate::tensor::view::TensorView;
49 pub use crate::tensor::{clip_range_bounds, vector_size};
50 pub use anyhow::{Context as TractErrorContext, anyhow, bail, ensure, format_err};
51 pub use ndarray as tract_ndarray;
52 pub use num_integer;
53 pub use num_traits as tract_num_traits;
54 pub use smallvec as tract_smallvec;
55 pub type StaticName = std::borrow::Cow<'static, str>;
56}
57
58pub use dim::TooEarly;
59pub use half;
60
61mod blob;
62mod datum;
63mod dim;
64mod opaque;
65mod scatter;
66mod tensor;