1#![allow(clippy::len_zero)]
2#![allow(clippy::missing_safety_doc)]
3#![allow(clippy::redundant_closure_call)]
4#![allow(clippy::cloned_ref_to_slice_refs)]
5#[cfg(feature = "accelerate")]
50extern crate accelerate_src;
51#[cfg(feature = "blis")]
52extern crate blis_src;
53#[cfg(feature = "blas")]
54extern crate cblas;
55#[cfg(feature = "openblas")]
56extern crate openblas_src;
57
58extern crate bit_set;
59#[macro_use]
60extern crate derive_new;
61#[macro_use]
62pub extern crate downcast_rs;
63#[allow(unused_imports)]
64#[macro_use]
65extern crate log;
66#[allow(unused_imports)]
67#[macro_use]
68pub extern crate ndarray;
69#[cfg(test)]
70extern crate env_logger;
71pub extern crate num_traits;
72#[cfg(test)]
73extern crate proptest;
74
75pub extern crate tract_data;
76pub extern crate tract_linalg;
77
78#[macro_use]
79pub mod macros;
80#[macro_use]
81pub mod ops;
82
83pub mod axes;
84pub mod broadcast;
85pub mod floats;
86pub mod framework;
87pub mod model;
88pub mod optim;
89pub mod plan;
90pub mod runtime;
91pub mod transform;
92pub mod value;
93
94pub use dyn_clone;
95
96mod late_bind;
97
98pub mod prelude {
100 pub use crate::framework::Framework;
101 pub use crate::model::*;
102 pub use crate::plan::{PlanOptions, SimplePlan, SimpleState};
103 pub use crate::value::{IntoTValue, TValue};
104 pub use std::sync::Arc;
105 pub use tract_data::prelude::*;
106
107 pub use ndarray as tract_ndarray;
108 pub use num_traits as tract_num_traits;
109 pub use tract_data;
110 pub use tract_linalg;
111 pub use tract_linalg::multithread;
112}
113
114pub mod internal {
116 pub use crate::axes::{AxesMapping, Axis};
117 pub use crate::late_bind::*;
118 pub use crate::model::*;
119 pub use crate::ops::change_axes::*;
120 pub use crate::ops::element_wise::ElementWiseMiniOp;
121 pub use crate::ops::{Cost, EvalOp, FrozenOpState, Op, OpState, Validation};
122 pub use crate::plan::{SessionState, SessionStateHandler};
123 pub use crate::prelude::*;
124 pub use crate::runtime::{DefaultRuntime, Runnable, Runtime, State};
125 pub use dims;
126 pub use downcast_rs as tract_downcast_rs;
127 pub use std::borrow::Cow;
128 pub use std::collections::HashMap;
129 pub use std::hash::Hash;
130 pub use std::marker::PhantomData;
131 pub use tract_data::internal::*;
132 pub use tract_data::{
133 dispatch_copy, dispatch_datum, dispatch_datum_by_size, dispatch_floatlike, dispatch_numbers,
134 };
135 pub use tvec;
136 pub use {args_1, args_2, args_3, args_4, args_5, args_6, args_7, args_8};
137 pub use {as_op, impl_op_same_as, not_a_typed_op, op_as_typed_op};
138 pub use {bin_to_super_type, element_wise, element_wise_oop};
139}
140
141#[cfg(test)]
142#[allow(dead_code)]
143fn setup_test_logger() {
144 let _ = env_logger::Builder::from_env("TRACT_LOG").try_init();
145}