#![warn(clippy::pedantic)]
#![warn(clippy::missing_const_for_fn)] #![warn(clippy::use_self)] #![allow(
clippy::cast_precision_loss, // The precision loss is often expected
clippy::default_trait_access, // Alternative can be complex types, not more clear
clippy::enum_glob_use, // Use Enum globs in match statements
clippy::let_underscore_drop, // Typical of Tensor in-place ops.
clippy::missing_errors_doc, // Errors obvious or complex --- easier to look at error type
clippy::missing_panics_doc, // Maybe be logically impossible or only in extreme cases
clippy::module_name_repetitions, // Types pub exported in different modeule.
clippy::semicolon_if_nothing_returned, // Conceptually returning "result" of inner operation
clippy::similar_names, // Sometimes prefer names that are similar. Consider removing.
clippy::single_match_else, // Match statement can be more readable.
clippy::type_repetition_in_bounds, // Frequent false positives
clippy::wildcard_imports, // Used in test modules
)]
extern crate self as relearn;
pub mod agents;
pub mod envs;
pub mod feedback;
pub mod logging;
pub mod simulation;
pub mod spaces;
pub mod torch;
pub mod utils;
pub use agents::{Actor, Agent, BatchUpdate, BuildAgent};
pub use envs::{BuildEnv, EnvStructure, Environment};
pub use simulation::{train_parallel, train_serial, Simulation, Step, Steps, StepsIter};
pub type Prng = rand_chacha::ChaCha8Rng;
#[allow(unused_imports)]
#[macro_use]
extern crate relearn_derive;