1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3
4pub mod io;
6pub mod temporal;
7
8pub mod relay_proto;
13
14pub mod addr;
18
19#[cfg(all(not(target_arch = "wasm32"), feature = "relay"))]
23pub mod relay;
24
25#[cfg(target_arch = "wasm32")]
28pub mod relay_browser;
29
30#[cfg(any(all(not(target_arch = "wasm32"), feature = "relay"), target_arch = "wasm32"))]
33pub mod net;
34
35#[cfg(not(target_arch = "wasm32"))]
37pub mod time;
38#[cfg(not(target_arch = "wasm32"))]
39pub mod env;
40#[cfg(not(target_arch = "wasm32"))]
41pub mod random;
42#[cfg(not(target_arch = "wasm32"))]
43pub mod text;
44
45#[cfg(feature = "persistence")]
49pub mod file;
50#[cfg(feature = "persistence")]
51pub mod fs;
52#[cfg(feature = "persistence")]
53pub mod storage;
54
55#[cfg(feature = "networking")]
57pub mod network;
58
59#[cfg(feature = "concurrency")]
61pub mod concurrency;
62#[cfg(feature = "concurrency")]
63pub mod memory;
64
65#[cfg(all(feature = "networking", feature = "persistence"))]
67pub mod distributed;
68
69#[cfg(feature = "networking")]
71pub mod crdt;
72
73pub mod word_rt;
76
77pub mod ntt;
79
80pub mod keccak;
82
83pub mod aead;
85
86pub mod mlkem;
89
90pub mod mldsa;
92
93#[cfg(not(target_arch = "wasm32"))]
95pub use tokio;
96
97pub use io::{show, read_line, println, eprintln, print, Showable};
99pub use temporal::{LogosDate, LogosMoment, LogosSpan, LogosTime};
100pub use word_rt::{
101 hsum_lanes4, int_of_word16, int_of_word32, int_of_word64, lanes16_word16, lanes4_word64,
102 lanes8_word32, montmul32, mul32x32to64, mulhi16, splat4_word64, and_not4,
103 rotl, rotr, word_and, word_or, word_not, seq_of_lanes16, seq_of_lanes4, word32_shr, word64_and, word64_shl, word64_shr,
104 seq_of_lanes8, splat16_word16, splat8_word32, word16, word32, word64, word8, Lanes16Word16,
105 Lanes4Word64, Lanes8Word32, Word16, Word32, Word64, Word8, WordRotate,
106 Lanes4Word32, lanes4_word32, lanes4_of, seq_of_lanes4w32, sha1rnds4, sha1msg1, sha1msg2, sha1nexte,
107 Lanes16Word8, lanes16_word8, seq_of_lanes16w8, splat16_word8, shuffle16, shr_bytes16,
108 interleave_lo16, interleave_hi16, byte_add16, maddubs16, packus16,
109};
110pub use ntt::{
111 mlkem_base_mul, mlkem_byte_decode, mlkem_byte_encode, mlkem_cbd2, mlkem_cbd3, mlkem_compress,
112 mlkem_decompress, mlkem_inv_ntt, mlkem_ntt, mlkem_sample_a, mlkem_sample_ntt, mlkem_to_mont,
113};
114pub use keccak::{sha3_256, sha3_512, shake128, shake256};
115
116pub fn panic_with(reason: &str) -> ! {
118 panic!("{}", reason);
119}
120
121pub mod fmt {
123 pub fn format<T: std::fmt::Display>(x: T) -> String {
124 format!("{}", x)
125 }
126}