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}