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
//! The crate error type and `Result` alias.
use Error;
/// `Result<T>` specialised to [`AlgoError`].
pub type Result<T> = Result;
/// Errors raised by petekTools.
///
/// The numeric-kernel surface is narrow (bad inputs, degenerate geometry) and
/// `&'static str`-payloaded. The `container` module adds a small I/O-shaped
/// surface (I/O failures, corrupt/parse errors, missing sections) since it
/// round-trips section blobs to disk. The `stats` / `sampling` front-doors add
/// [`InvalidArgument`](AlgoError::InvalidArgument) for bad parameters / ranges.
///
/// The enum is `#[non_exhaustive]`: match with a wildcard arm so a future
/// variant is never a breaking change.