mod accumulator;
mod accumulator_layer_stacks;
mod accumulator_stack_variant;
pub mod activation;
pub mod aliases;
mod bona_piece;
mod bona_piece_halfka;
mod bona_piece_halfka_hm;
mod constants;
mod diff;
mod evaluator;
mod feature_transformer;
mod feature_transformer_layer_stacks;
pub mod features;
pub(crate) mod halfka;
pub(crate) mod halfka_hm;
pub(crate) mod halfkp;
mod layer_stacks;
mod layers;
mod leb128;
#[macro_use]
pub mod macros;
mod network;
pub(crate) mod network_halfka;
pub(crate) mod network_halfka_hm;
pub(crate) mod network_halfkp;
mod network_layer_stacks;
pub mod piece_list;
pub mod prelude;
pub mod spec;
pub mod stats;
pub use accumulator::{Accumulator, AccumulatorStack, ChangedBonaPiece, DirtyPiece, StackEntry};
pub use accumulator_layer_stacks::{
AccumulatorLayerStacks, AccumulatorStackLayerStacks, StackEntryLayerStacks,
};
pub use accumulator_stack_variant::AccumulatorStackVariant;
pub use bona_piece::{BonaPiece, ExtBonaPiece, FE_END, halfkp_index};
pub use bona_piece_halfka_hm::{
BonaPieceHalfKA_hm, E_KING, F_KING, FE_HAND_END, FE_OLD_END, PIECE_INPUTS, halfka_index,
is_hm_mirror, king_bucket, pack_bonapiece,
};
pub use constants::*;
pub use diff::get_changed_features;
pub use feature_transformer::FeatureTransformer;
pub use feature_transformer_layer_stacks::FeatureTransformerLayerStacks;
pub use features::{
Feature, FeatureSet, HalfKA, HalfKA_hm, HalfKA_hm_FeatureSet, HalfKAFeatureSet, HalfKP,
HalfKPFeatureSet, TriggerEvent,
};
pub use layer_stacks::{
LayerStackBucket, LayerStacks, compute_bucket_index, sqr_clipped_relu_transform,
};
pub use layers::{AffineTransform, ClippedReLU};
pub use network::{
NNUENetwork, NnueFormatInfo, detect_format, ensure_accumulator_computed, evaluate_dispatch,
evaluate_layer_stacks, get_fv_scale_override, get_network, init_nnue, init_nnue_from_bytes,
is_halfka_256_loaded, is_halfka_512_loaded, is_halfka_1024_loaded, is_halfka_hm_256_loaded,
is_halfka_hm_512_loaded, is_halfka_hm_1024_loaded, is_layer_stacks_loaded, is_nnue_initialized,
set_fv_scale_override,
};
pub use network_layer_stacks::NetworkLayerStacks;
pub use piece_list::{PieceList, PieceNumber};
pub use activation::{CReLU, FtActivation, PairwiseCReLU, SCReLU, detect_activation_from_arch};
pub use spec::{Activation, ArchitectureSpec, FeatureSet as SpecFeatureSet};
pub use evaluator::NNUEEvaluator;
pub use stats::{NnueStatsSnapshot, get_nnue_stats, print_nnue_stats, reset_nnue_stats};