有没有办法从f32数组中找到最大值?

时间:2015-09-18 13:04:04

标签: rust

我正在尝试从f32

数组中获取最大值
let v: [f32; 5] = [1.0, 2.0, 3.0, 4.0, 5.0];    
let res = v.iter().max().unwrap();

但是Ord没有实现特征f32,我无法实现它,因为

  

只有当前包中定义的特征可以针对任意类型[E0117]

实现

我知道PartialOrd,但在这种情况下我无法弄清楚如何使用它。

我确信我的收藏品不是空的,并且不包含NaN或无限。

有没有办法从f32集合中获取最大值,除非通过编写自己的包装器或这样的命令函数?

fn maxf32(arr: &[f32; 5]) -> f32 {
    let mut res = arr[0];
    for &x in arr {
        if x > res {
            res = x;
        }
    }
    res
}

0 个答案:

没有答案