>>477
それは最適化されるので大丈夫
「-condition」を使ってはいけない
これはi32::MIN時にoverflowする
したがってそのif文で書くならばGREATERとLESSを入れ替えるか
「condition > 0」と「condition < 0」を入れ替えることになる

しかしOrderingについて「if文で多分岐させる」こと自体がいけない
可読性に劣るとともにケアレスミスも起きうるだけでなく
生成コードを見ると以下の正解よりも少し長くなりえて遅くなりうることがわかる

正解はこれ
普通のまま: condition.partial_cmp(&0)
逆にする時: condition.partial_cmp(&0).map(|x| x.reverse())
逆にする時: condition.partial_cmp(&0).map(Ordering::reverse) 【上記と同じ】
いずれも生成コードがそのif文より短くなりうる
そして可読性も優れている

ただしconditionにi32やi64の整数型を使うとpartial_cmp()がNoneになることはない
Option<Ordering>を使う必要はなくcmp()でOrderingを得れば十分
真の正解はこれ
普通のまま: condition.cmp(&0)
逆にする時: condition.cmp(&0).reverse()