私は、F#のunit systemと正しく相互作用する方法で、ユーザ定義の平方根関数(sqrt)を書くことがどのようにできるのだろうと考えました。ユニットセーフな平方根
let sqrt (x : float<'u^2>) = let x' = x/1.0<'u^2> // Delete unit (x ** 0.5) * 1.0<'u> // Reassign unit
しかし、これが原因一般的な単位を持つことが許されていないゼロ以外の定数に許可されていません:それはどうあるべきか
。
この機能を書く方法はありますか? sqrt
が内蔵されているので問題なく動作しますか?
関連の質問:(また、@kvbによって)http://stackoverflow.com/questions/1398611/f-ununit-reunit-inside-a-function – Benjol