/
lib.rs
55 lines (39 loc) · 878 Bytes
/
lib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#![doc=include_str!("../README.md")]
// We don't really need std
#![no_std]
// Other assertions
#![deny(missing_debug_implementations)]
/// Extra traits
pub mod traits;
/// Polynomial types
pub mod p;
pub use p::*;
/// Galois-field types
pub mod gf;
pub use gf::*;
/// LFSR structs
#[cfg(feature="lfsr")]
pub mod lfsr;
/// CRC functions
#[cfg(feature="crc")]
pub mod crc;
/// Shamir secret-sharing
#[cfg(feature="shamir")]
pub mod shamir;
/// RAID-parity structs
#[cfg(feature="raid")]
pub mod raid;
/// Reed-Solomon error-correction
#[cfg(feature="rs")]
pub mod rs;
/// Re-exports for proc_macros
#[path="."]
pub mod internal {
pub mod xmul;
pub use cfg_if;
#[cfg(any(feature="lfsr", feature="shamir"))]
pub use rand;
}
/// A flag indicating if hardware carry-less multiplication instructions
/// are available
pub use internal::xmul::HAS_XMUL;