#[cfg(not(feature = "rlx"))]
compile_error!("the `rlx` feature is required (enabled by default)");
pub mod config;
pub mod error;
pub mod prelude;
pub mod rlx;
pub use config::{ModelConfig, ModelSize};
pub use error::{EegDinoError, Result};
pub use rlx::{
detect_model_size, device_label, feature_for, is_device_available, parse_device,
EegDinoEncoder, EegDinoEncoderBuilder, EncodingResult,
};
#[cfg(feature = "burn")]
pub mod model;
#[cfg(feature = "burn")]
pub(crate) mod weights;
#[cfg(feature = "burn")]
pub mod inference;
#[cfg(feature = "burn")]
pub use inference::{
ClassificationResult, EegDinoClassifier, EegDinoEncoder as BurnEegDinoEncoder,
EegDinoEncoderBuilder as BurnEegDinoEncoderBuilder, EncodingResult as BurnEncodingResult,
};
#[cfg(feature = "burn")]
pub use model::classifier::ClassificationModel;
#[cfg(feature = "burn")]
pub use model::encoder::EEGEncoder;
#[cfg(feature = "burn")]
pub use model::embedding::{EmbeddingCache, PatchEmbedding};
pub fn init_threads(n: Option<usize>) {
let mut builder = rayon::ThreadPoolBuilder::new();
if let Some(n) = n {
builder = builder.num_threads(n);
}
builder.build_global().ok();
}