This commit is contained in:
Simon Gardling 2022-02-14 09:38:52 -05:00
parent 19e73b070a
commit 95a0a8b194

View File

@ -57,7 +57,8 @@ pub fn draw(
fn integral_rectangles(
min_x: f32, step: f32, num_interval: usize, func: &dyn Fn(f64) -> f64,
) -> (Vec<(f32, f32, f32)>, f32) {
let data2: Vec<(f32, f32, f32)> = (0..num_interval).map(|e| {
let data2: Vec<(f32, f32, f32)> = (0..num_interval)
.map(|e| {
let x: f32 = ((e as f32) * step) + min_x;
let x2: f32 = match x > 0.1 {
@ -70,7 +71,7 @@ fn integral_rectangles(
let y: f32 = match tmp2.abs() > tmp1.abs() {
true => tmp1,
false => tmp2
false => tmp2,
};
// Add current rectangle's area to the total
@ -79,7 +80,9 @@ fn integral_rectangles(
} else {
(0.0, 0.0, 0.0)
}
}).filter(|ele| ele != &(0.0, 0.0, 0.0)).collect();
})
.filter(|ele| ele != &(0.0, 0.0, 0.0))
.collect();
let area: f32 = data2.iter().map(|(_, _, y)| y * step).sum(); // sum of all rectangles' areas
return (data2, area);
}