ACTUALLY fix SteppedVector
This commit is contained in:
parent
0cd8f28aad
commit
b89cf04dcc
21
src/misc.rs
21
src/misc.rs
@ -99,9 +99,6 @@ impl From<Vec<f64>> for SteppedVector {
|
||||
min = data[0];
|
||||
}
|
||||
|
||||
assert!(min >= 0.0);
|
||||
assert!(max >= 0.0);
|
||||
|
||||
// Calculate the step between elements
|
||||
let step = (max - min).abs() / (data_length as f64);
|
||||
|
||||
@ -117,17 +114,12 @@ impl From<Vec<f64>> for SteppedVector {
|
||||
|
||||
#[test]
|
||||
fn stepped_vector_test() {
|
||||
let min = 0;
|
||||
let max = 10;
|
||||
let min: i32 = -10;
|
||||
let max: i32 = 10;
|
||||
let data: Vec<f64> = (min..=max).map(|x| x as f64).collect();
|
||||
let len_data = data.len();
|
||||
let stepped_vector: SteppedVector = data.into();
|
||||
|
||||
assert_eq!(
|
||||
stepped_vector.get_data(),
|
||||
vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
|
||||
);
|
||||
|
||||
assert_eq!(stepped_vector.get_min(), min as f64);
|
||||
assert_eq!(stepped_vector.get_max(), max as f64);
|
||||
|
||||
@ -135,11 +127,14 @@ fn stepped_vector_test() {
|
||||
assert_eq!(stepped_vector.get_index(max as f64), Some(len_data - 1));
|
||||
|
||||
for i in min..=max {
|
||||
assert_eq!(stepped_vector.get_index(i as f64), Some(i));
|
||||
assert_eq!(
|
||||
stepped_vector.get_index(i as f64),
|
||||
Some((i + min.abs()) as usize)
|
||||
);
|
||||
}
|
||||
|
||||
assert_eq!(stepped_vector.get_index(-1.0), None);
|
||||
assert_eq!(stepped_vector.get_index(11.0), None);
|
||||
assert_eq!(stepped_vector.get_index((min - 1) as f64), None);
|
||||
assert_eq!(stepped_vector.get_index((max + 1) as f64), None);
|
||||
}
|
||||
|
||||
// Rounds f64 to specific number of decimal places
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user