light_curve_dmdt/
float_trait.rs

1use conv::*;
2
3/// Float number trait, it is implemented for [f32] and [f64] only
4pub trait Float:
5    ndarray::NdFloat
6    + num_traits::FloatConst
7    + num_traits::Signed
8    + num_traits::Float
9    + ValueFrom<usize>
10    + ApproxInto<usize, RoundToZero>
11    + ApproxFrom<u64>
12{
13    fn half() -> Self;
14    fn ten() -> Self;
15}
16
17impl Float for f32 {
18    fn half() -> Self {
19        0.5
20    }
21
22    fn ten() -> Self {
23        10.0
24    }
25}
26impl Float for f64 {
27    fn half() -> Self {
28        0.5
29    }
30
31    fn ten() -> Self {
32        10.0
33    }
34}