#![cfg_attr(not(feature = "std"), no_std)]
#![warn(missing_docs)]
#![deny(clippy::unwrap_used)]
#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
clippy::large_stack_arrays,
clippy::float_cmp,
clippy::needless_range_loop,
clippy::wrong_self_convention,
clippy::field_reassign_with_default,
clippy::no_effect_underscore_binding
)
)]
#[cfg(not(feature = "std"))]
extern crate alloc;
#[cfg(feature = "dhat-profiler")]
#[doc(hidden)]
pub use dhat;
pub mod audio;
pub mod detection;
pub mod error;
pub mod format;
pub mod inference;
pub mod memory;
pub mod model;
pub mod parallel;
pub mod progress;
pub mod simd;
pub mod timestamps;
pub mod tokenizer;
#[macro_use]
pub mod trace;
pub mod vad;
pub mod diarization;
pub mod gpu;
pub mod backend;
pub mod vocabulary;
pub mod probe;
pub mod publish;
pub mod verify;
#[allow(clippy::all)]
pub mod benchmark_generated;
#[cfg(feature = "realizar-gpu")]
pub mod cuda;
#[cfg(feature = "realizar-inference")]
pub mod realizar_inference {
pub use realizar::layers::{
Attention, FeedForward, FusedLayerNormLinear, KVCache, LayerNorm, Linear,
MultiHeadAttention, SlidingWindowAttention,
};
pub use realizar::paged_kv::{PagedCacheError, PagedKvCache, SeqId};
pub use realizar::quantize::{
dequantize_q4_k, dequantize_q5_k, dequantize_q6_k, dequantize_q8_0, fused_q4k_dot_simd,
fused_q4k_parallel_matvec, fused_q5k_dot_simd, fused_q5k_parallel_matvec,
fused_q6k_dot_simd, fused_q6k_parallel_matvec, Q4_KBlock, Q5_KBlock, Q6_KBlock, Q8_0Block,
};
pub use realizar::tensor::Tensor;
pub use realizar::speculative::{
SpeculativeConfig, SpeculativeError, SpeculativeModel, SpeculativeResult, SpeculativeStats,
TokenProb,
};
#[cfg(feature = "realizar-gpu")]
pub use realizar::cuda::CudaExecutor;
#[cfg(feature = "realizar-gpu")]
pub fn gpu_available() -> bool {
CudaExecutor::is_available()
}
}
#[cfg(feature = "wasm")]
pub mod wasm;
#[cfg(feature = "cli")]
pub mod cli;
#[cfg(feature = "tui")]
pub mod tui;
pub use error::{WhisperError, WhisperResult};
#[allow(clippy::all)]
mod core_generated;
pub use core_generated::*;