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];
|
min = data[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
assert!(min >= 0.0);
|
|
||||||
assert!(max >= 0.0);
|
|
||||||
|
|
||||||
// Calculate the step between elements
|
// Calculate the step between elements
|
||||||
let step = (max - min).abs() / (data_length as f64);
|
let step = (max - min).abs() / (data_length as f64);
|
||||||
|
|
||||||
@ -117,17 +114,12 @@ impl From<Vec<f64>> for SteppedVector {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn stepped_vector_test() {
|
fn stepped_vector_test() {
|
||||||
let min = 0;
|
let min: i32 = -10;
|
||||||
let max = 10;
|
let max: i32 = 10;
|
||||||
let data: Vec<f64> = (min..=max).map(|x| x as f64).collect();
|
let data: Vec<f64> = (min..=max).map(|x| x as f64).collect();
|
||||||
let len_data = data.len();
|
let len_data = data.len();
|
||||||
let stepped_vector: SteppedVector = data.into();
|
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_min(), min as f64);
|
||||||
assert_eq!(stepped_vector.get_max(), max 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));
|
assert_eq!(stepped_vector.get_index(max as f64), Some(len_data - 1));
|
||||||
|
|
||||||
for i in min..=max {
|
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((min - 1) as f64), None);
|
||||||
assert_eq!(stepped_vector.get_index(11.0), None);
|
assert_eq!(stepped_vector.get_index((max + 1) as f64), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rounds f64 to specific number of decimal places
|
// Rounds f64 to specific number of decimal places
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user