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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//! ```text
//! ______
//! ___ /´ ____/\
//! __ ______ _____ / /\_ _ ______ _____ __ / /_/___/\ __ _____ ______
//! ==/ ´ ____/ __ \ ____/ ´ ____/ __ ` __ ___, /==/ ´ ___/ __ \
//! ==/ /´=/ ______/ /==/ /´=/ /==/ /=/ /=/ /==/ /´=/ ______/\
//! ==/ /==/ /____/ /__/ /==/ /__/ /=/ /=/ /__/ /==/ /______\/
//! ==/___/ ==\_______/\______/__/ ==\________,´_/ /==\______/__/ ==\________/\
//! ==\___\/ ==\______\/\_____\__\/ ==\______/_____,´ /==\_____\___\/==\_______\/
//! \_____\,´
//! ```
//!
//! Core functionality of the `retrofire` project.
//!
//! Includes a math library with vectors, matrices, colors, and angles; basic
//! geometry primitives; a software 3D renderer with customizable shaders;
//! with more to come.
//!
//! # Crate features
//!
//! * `std`:
//! Makes available items requiring I/O, timekeeping, or any floating-point
//! functions not included in `core`. In particular this means trigonometric
//! and transcendental functions.
//!
//! If this feature is disabled, the crate only depends on `alloc`.
//!
//! * `libm`:
//! Provides software implementations of floating-point functions via the
//! [libm](https://crates.io/crates/libm) crate.
//!
//! * `mm`:
//! Provides fast approximate implementations of floating-point functions
//! via the [micromath](https://crates.io/crates/micromath) crate.
//!
//! All features are disabled by default.
//!
//! # Example
//!
//! ```
//! ```
extern crate std;
// TODO make alloc optional
extern crate alloc;
extern crate core;
/// Prelude module exporting many frequently used items.