binius_field/arch/
mod.rs

1// Copyright 2023-2025 Irreducible Inc.
2
3use cfg_if::cfg_if;
4
5mod arch_optimal;
6mod binary_utils;
7mod strategies;
8
9cfg_if! {
10	if #[cfg(target_arch = "x86_64")] {
11		#[allow(dead_code)]
12		mod portable;
13
14		mod x86_64;
15		pub use x86_64::{packed_128, packed_256, packed_512, packed_aes_128, packed_aes_256, packed_aes_512, packed_polyval_128, packed_polyval_256, packed_polyval_512};
16	} else if #[cfg(target_arch = "aarch64")] {
17		#[allow(dead_code)]
18		mod portable;
19
20		mod aarch64;
21		pub use aarch64::{packed_128, packed_polyval_128, packed_aes_128};
22		pub use portable::{packed_256, packed_512, packed_aes_256, packed_aes_512, packed_polyval_256, packed_polyval_512};
23	} else {
24		mod portable;
25		pub use portable::{packed_128, packed_256, packed_512, packed_aes_128, packed_aes_256, packed_aes_512, packed_polyval_128, packed_polyval_256, packed_polyval_512};
26	}
27}
28
29pub use arch_optimal::*;
30pub use portable::{
31	byte_sliced, packed_1, packed_16, packed_2, packed_32, packed_4, packed_64, packed_8,
32	packed_aes_16, packed_aes_32, packed_aes_64, packed_aes_8,
33};
34pub use strategies::*;