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
#![allow(incomplete_features)]
#![feature(const_generics, maybe_uninit_uninit_array, new_uninit, array_map)]

// Linear algebra modules
/// Matrix definitions
pub mod mat;
#[doc(inline)]
pub use mat::*;

/// Quaternion definitions
pub mod quat;

/// Simple Ray definitions
pub mod ray;
#[doc(inline)]
pub use ray::*;

/// Vector definitions
pub mod vec;
#[doc(inline)]
pub use vec::*;

/// Invertible transforms based on
/// http://www.pbr-book.org/3ed-2018/Geometry_and_Transformations/Transformations.html
pub mod transform;
#[doc(inline)]
pub use transform::*;

/// Auto-differentiation module
pub mod autodiff;
pub use autodiff::Var;

/// Convenience re-export of num-traits
pub mod num;
#[doc(inline)]
pub use crate::num::*;

#[cfg(feature = "serde")]
pub mod serde;

#[cfg(feature = "quickcheck")]
pub mod quickcheck;

/*
/// Convenience functions for Mueller matrices
#[cfg(feature = "mueller")]
pub mod mueller;

/// Convenience functions for stokes vectors
#[cfg(feature = "stokes")]
pub mod stokes;

#[cfg(feature = "masked")]
pub mod masked;
*/

/// Dynamic vectors and matrices.
// TODO move this to the dynamics folder
mod dynamics;
pub use dynamics::{Array, DynTensor};