mod bits;
mod numeric;
mod parse;
mod python;
mod random;
mod raw_bytes;
mod search;
mod validation;

pub(crate) use bits::{BS, BV, bv_from_ones, bv_from_zeros};
pub(crate) use numeric::{bv_from_f64, bv_from_i128, bv_from_u128};
pub(crate) use parse::{bv_from_bin, bv_from_hex, bv_from_oct, str_to_bv};
pub(crate) use python::{bv_from_bools, bytes_like_to_vec, convert_to_bool, promote_to_bv};
pub(crate) use random::bv_from_random;
pub(crate) use raw_bytes::{bv_from_bytes_slice, byte_search_prep, copy_shifted_bytes};
pub(crate) use search::{
    SIGNAL_CHECK_INTERVAL, collect_find_all_positions, compute_lps, count_bitvec, find_bitvec,
    find_bitvec_aligned, find_bitvec_with_lps_aligned, rfind_bitvec_aligned,
    rfind_bitvec_with_reversed_lps_aligned,
};
pub(crate) use validation::{
    validate_index, validate_length, validate_logical_op_lengths, validate_shift, validate_slice,
};
