try-partialord 0.1.2

Safe failable sort, min, max, binary_search functions for PartialOrd. No need to wrap f32, f64 to sort any more.
Documentation
# try-partialOrd

__Safe failable sort, min, max, binary_search functions for PartialOrd. No need to wrap `f32`, `f64` to sort any more.__


This crate provides helper traits for type with only `PartialOrd` but not `Ord`( like `f32`, `f64`), to use methods where `Ord` is needed, like sort, min, max and binary_search.
These methods are almost same as the methods for Ord, exept that it returns `InvalidOrderError` when the `partial_cmp`
returns `None`.
These traits have `try_` methods like `try_sort` for `slice::sort`.
This is safer than using something like `sort_by` with ignoreing None case of `partial_cmp` because it handle error instead of panic.

Sort is using the same logic as std.
```
use try_partialord::*;
use rand::distributions::Standard;
use rand::prelude::*;
let mut vec: Vec<f32> = Standard.sample_iter(thread_rng()).take(100).collect();
//no NAN in vec so sort should succed
let sort_result = vec.try_sort();
assert!(sort_result.is_ok());
assert!(vec.try_is_sorted().unwrap_or(false));
vec.push(f32::NAN);
//NAN in vec so sort should fail
let sort_result = vec.try_sort();
assert!(sort_result.is_err());
assert!(vec.try_is_sorted().is_err());
```