This commit is contained in:
Simon Gardling 2022-05-16 14:52:06 -04:00
parent 50ef1d17f9
commit 490e4bffbd
2 changed files with 27 additions and 37 deletions

View File

@ -201,13 +201,15 @@ impl EguiHelper for Vec<Value> {
fn to_tuple(&self) -> Vec<(f64, f64)> { self.iter().map(|ele| (ele.x, ele.y)).collect() } fn to_tuple(&self) -> Vec<(f64, f64)> { self.iter().map(|ele| (ele.x, ele.y)).collect() }
} }
// /// Rounds f64 to `n` decimal places /*
// pub fn decimal_round(x: f64, n: usize) -> f64 { /// Rounds f64 to `n` decimal places
// let large_number: f64 = 10.0_f64.powf(n as f64); // 10^n pub fn decimal_round(x: f64, n: usize) -> f64 {
let large_number: f64 = 10.0_f64.powf(n as f64); // 10^n
// // round and devide in order to cutoff after the `n`th decimal place // round and devide in order to cutoff after the `n`th decimal place
// (x * large_number).round() / large_number (x * large_number).round() / large_number
// } }
*/
/// Helper that assists with using newton's method of finding roots, iterating over data `data` /// Helper that assists with using newton's method of finding roots, iterating over data `data`
/// `threshold` is the target accuracy threshold /// `threshold` is the target accuracy threshold
@ -219,12 +221,6 @@ pub fn newtons_method_helper(
threshold: &f64, range: &std::ops::Range<f64>, data: &[Value], f: &dyn Fn(f64) -> f64, threshold: &f64, range: &std::ops::Range<f64>, data: &[Value], f: &dyn Fn(f64) -> f64,
f_1: &dyn Fn(f64) -> f64, f_1: &dyn Fn(f64) -> f64,
) -> Vec<f64> { ) -> Vec<f64> {
debug_assert!(!data.is_empty());
unsafe {
assume(!data.is_empty());
}
data.iter() data.iter()
.tuple_windows() .tuple_windows()
.filter(|(prev, curr)| prev.y.is_finite() && curr.y.is_finite()) .filter(|(prev, curr)| prev.y.is_finite() && curr.y.is_finite())
@ -268,12 +264,6 @@ pub fn option_vec_printer<T: ToString>(data: &[Option<T>]) -> String
where where
T: ToString, T: ToString,
{ {
debug_assert!(!data.is_empty());
unsafe {
assume(!data.is_empty());
}
let max_i: i32 = (data.len() as i32) - 1; let max_i: i32 = (data.len() as i32) - 1;
[ [
"[", "[",

View File

@ -26,28 +26,28 @@ fn stepped_vector() {
assert_eq!(stepped_vector.get_index((max + 1) as f64), None); assert_eq!(stepped_vector.get_index((max + 1) as f64), None);
} }
// /// Ensures [`decimal_round`] returns correct values /*
// #[test] /// Ensures [`decimal_round`] returns correct values
// fn decimal_round() { #[test]
// use ytbn_graphing_software::decimal_round; fn decimal_round() {
use ytbn_graphing_software::decimal_round;
// assert_eq!(decimal_round(0.00001, 1), 0.0); assert_eq!(decimal_round(0.00001, 1), 0.0);
// assert_eq!(decimal_round(0.00001, 2), 0.0); assert_eq!(decimal_round(0.00001, 2), 0.0);
// assert_eq!(decimal_round(0.00001, 3), 0.0); assert_eq!(decimal_round(0.00001, 3), 0.0);
// assert_eq!(decimal_round(0.00001, 4), 0.0); assert_eq!(decimal_round(0.00001, 4), 0.0);
// assert_eq!(decimal_round(0.00001, 5), 0.00001); assert_eq!(decimal_round(0.00001, 5), 0.00001);
// assert_eq!(decimal_round(0.12345, 1), 0.1); assert_eq!(decimal_round(0.12345, 1), 0.1);
// assert_eq!(decimal_round(0.12345, 2), 0.12); assert_eq!(decimal_round(0.12345, 2), 0.12);
// assert_eq!(decimal_round(0.12345, 3), 0.123); assert_eq!(decimal_round(0.12345, 3), 0.123);
// assert_eq!(decimal_round(0.12345, 4), 0.1235); // rounds up assert_eq!(decimal_round(0.12345, 4), 0.1235); // rounds up
// assert_eq!(decimal_round(0.12345, 5), 0.12345); assert_eq!(decimal_round(0.12345, 5), 0.12345);
// assert_eq!(decimal_round(1.9, 0), 2.0); assert_eq!(decimal_round(1.9, 0), 2.0);
// assert_eq!(decimal_round(1.9, 1), 1.9); assert_eq!(decimal_round(1.9, 1), 1.9);
// } }
*/
/// Tests [`resolution_helper`] to make sure it returns expected output
#[test] #[test]
fn step_helper() { fn step_helper() {