LoginSignup
2
1

More than 3 years have passed since last update.

作った自作ライブラリを紹介する(try-partialord)

Posted at

せっかく作ったので使ってもらって、批評してほしいから紹介する。

try-partialord

Crate
f32, f64をソートするのが面倒であるという問題を安全に解決するために作った。
いままでは、

vec_f32.sort_by(|x,y|x.partial_cmp(y).unwrap());

のようにNANがないことを前提にするか、

vec_f32.sort_by_key(|x|ordered_float::OrderedFloat(x));

のようにラップする必要があった。

これを

let result = vec_f32.try_sort();

とすることで、NANのような比較できないものがなく正しくソートできたかを把握することができるようにするものである。

思ったこと

stdにおいてf32,f64PartialOrdのみにして比較できない場合のエラーハンドリングを強制しながら、ソートや最大最小のような比較が必要なところでそのエラーを直接ハンドリングできないのは整合性がとれてないのではと思った。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1