1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
pub extern crate anyhow;
extern crate bit_set;
#[macro_use]
extern crate derive_new;
#[macro_use]
pub extern crate downcast_rs;
#[macro_use]
extern crate educe;
#[allow(unused_imports)]
#[macro_use]
extern crate log;
#[allow(unused_imports)]
#[macro_use]
pub extern crate ndarray;
#[cfg(test)]
extern crate env_logger;
pub extern crate num_traits;
#[cfg(test)]
extern crate proptest;
pub extern crate tract_data;
pub extern crate tract_linalg;
#[macro_use]
pub mod ops;
pub mod broadcast;
pub mod framework;
mod hash;
mod late_bind;
pub mod model;
pub mod optim;
pub mod plan;
pub use dyn_clone;
pub type TractError = anyhow::Error;
pub type TractResult<T> = Result<T, anyhow::Error>;
pub mod prelude {
pub use crate::framework::Framework;
pub use crate::model::*;
pub use crate::plan::{SimplePlan, SimpleState};
pub use crate::{TractError, TractResult};
pub use std::sync::Arc;
pub use tract_data::prelude::*;
pub use ndarray as tract_ndarray;
pub use num_traits as tract_num_traits;
pub use tract_data;
pub use tract_linalg;
}
pub mod internal {
pub use crate::hash::{dyn_hash, hash_f32, hash_opt_f32, DynHash, SloppyHash};
pub use crate::impl_dyn_hash;
pub use crate::late_bind::*;
pub use crate::model::*;
pub use crate::ops::change_axes::*;
pub use crate::ops::element_wise::ElementWiseMiniOp;
pub use crate::ops::invariants::*;
pub use crate::ops::{
AttrOrInput, AxisInfo, Cost, EvalOp, Invariants, Op, OpState, Validation,
};
pub use crate::plan::SessionState;
pub use crate::prelude::*;
pub use anyhow::{anyhow, bail, format_err, Context as TractErrorContext};
pub use downcast_rs as tract_downcast_rs;
pub use std::borrow::Cow;
pub use std::collections::HashMap;
pub use std::hash::Hash;
pub use std::marker::PhantomData;
pub use tract_data::internal::*;
pub use tract_data::{
dispatch_copy, dispatch_datum, dispatch_datum_by_size, dispatch_floatlike, dispatch_numbers,
};
pub use tvec;
pub use {args_1, args_2, args_3, args_4, args_5, args_6, args_7, args_8};
pub use {as_op, impl_op_same_as, not_a_typed_op, op_as_typed_op};
pub use {bin_to_super_type, element_wise, element_wise_oop};
}
#[cfg(test)]
#[allow(dead_code)]
fn setup_test_logger() {
let _ = env_logger::Builder::from_env("TRACT_LOG").try_init();
}