のようなものでしょうか
class Complex[T: Numeric](real: T, imag: T)
Double
sを使用する Complex クラスを作成する代わりに、s を使用するクラス、s を使用するクラスを作成して、誰もが必要な数値型を選択できるようにするのは理にかなってLong
いBigInt
ますか?
一般的でないアプローチと比較して、パフォーマンスはどのようになりますか?
のようなものでしょうか
class Complex[T: Numeric](real: T, imag: T)
Double
sを使用する Complex クラスを作成する代わりに、s を使用するクラス、s を使用するクラスを作成して、誰もが必要な数値型を選択できるようにするのは理にかなってLong
いBigInt
ますか?
一般的でないアプローチと比較して、パフォーマンスはどのようになりますか?
今のところ、でNumeric
はありません@specialized
。したがって、それを使用するジェネリック バージョンは、ボックス化とボックス化解除の影響を受け、パフォーマンスが大幅に低下します。これは、パフォーマンス測定を含む素晴らしいブログ投稿です。
http://www.azavea.com/blogs/labs/2011/06/scalas-numeric-type-class-pt-2/
ただし、@specialized
使用せずに複素数クラスのバージョンを直接記述してNumeric
、すべての利点を得ることができます。
厳密に実用的な観点から、整数部分を持つ複素数の使用法を理解することはできません...