auto merge of #12718 : thestinger/rust/min_max, r=alexcrichton
This commit is contained in:
commit
67c5d793ad
3 changed files with 35 additions and 3 deletions
|
@ -10,7 +10,6 @@
|
|||
|
||||
#[allow(missing_doc)];
|
||||
|
||||
use std::cmp;
|
||||
use std::hash::Hash;
|
||||
use std::io;
|
||||
use std::mem;
|
||||
|
@ -203,12 +202,12 @@ impl<'a> Stats for &'a [f64] {
|
|||
|
||||
fn min(self) -> f64 {
|
||||
assert!(self.len() != 0);
|
||||
self.iter().fold(self[0], |p,q| cmp::min(p, *q))
|
||||
self.iter().fold(self[0], |p, q| p.min(*q))
|
||||
}
|
||||
|
||||
fn max(self) -> f64 {
|
||||
assert!(self.len() != 0);
|
||||
self.iter().fold(self[0], |p,q| cmp::max(p, *q))
|
||||
self.iter().fold(self[0], |p, q| p.max(*q))
|
||||
}
|
||||
|
||||
fn mean(self) -> f64 {
|
||||
|
@ -442,6 +441,7 @@ mod tests {
|
|||
use stats::write_boxplot;
|
||||
use std::io;
|
||||
use std::str;
|
||||
use std::f64;
|
||||
|
||||
macro_rules! assert_approx_eq(
|
||||
($a:expr, $b:expr) => ({
|
||||
|
@ -481,6 +481,14 @@ mod tests {
|
|||
assert_eq!(summ.iqr, summ2.iqr);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_min_max_nan() {
|
||||
let xs = &[1.0, 2.0, f64::NAN, 3.0, 4.0];
|
||||
let summary = Summary::new(xs);
|
||||
assert_eq!(summary.min, 1.0);
|
||||
assert_eq!(summary.max, 4.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_norm2() {
|
||||
let val = &[
|
||||
|
|
|
@ -866,6 +866,18 @@ mod tests {
|
|||
use num::*;
|
||||
use num;
|
||||
|
||||
#[test]
|
||||
fn test_min_nan() {
|
||||
assert_eq!(NAN.min(2.0), 2.0);
|
||||
assert_eq!(2.0f32.min(NAN), 2.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_max_nan() {
|
||||
assert_eq!(NAN.max(2.0), 2.0);
|
||||
assert_eq!(2.0f32.max(NAN), 2.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_num() {
|
||||
num::test_num(10f32, 2f32);
|
||||
|
|
|
@ -865,6 +865,18 @@ mod tests {
|
|||
use num::*;
|
||||
use num;
|
||||
|
||||
#[test]
|
||||
fn test_min_nan() {
|
||||
assert_eq!(NAN.min(2.0), 2.0);
|
||||
assert_eq!(2.0f64.min(NAN), 2.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_max_nan() {
|
||||
assert_eq!(NAN.max(2.0), 2.0);
|
||||
assert_eq!(2.0f64.max(NAN), 2.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_num() {
|
||||
num::test_num(10f64, 2f64);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue