cherry-rs 0.1.0

Tools for designing sequential optical systems
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use ndarray::ArrayView1;

use crate::core::Float;

pub fn argmin(ratios: &ArrayView1<Float>) -> usize {
    ratios
        .iter()
        .enumerate()
        .fold((0, Float::MAX), |(min_idx, min_val), (idx, &val)| {
            if val < min_val {
                (idx, val)
            } else {
                (min_idx, min_val)
            }
        })
        .0
}