4

のようなものでしょうか

class Complex[T: Numeric](real: T, imag: T)

Doublesを使用する Complex クラスを作成する代わりに、s を使用するクラス、s を使用するクラスを作成して、誰もが必要な数値型を選択できるようにするのは理にかなってLongBigIntますか?

一般的でないアプローチと比較して、パフォーマンスはどのようになりますか?

4

1 に答える 1

4

今のところ、でNumericはありません@specialized。したがって、それを使用するジェネリック バージョンは、ボックス化とボックス化解除の影響を受け、パフォーマンスが大幅に低下します。これは、パフォーマンス測定を含む素晴らしいブログ投稿です。

http://www.azavea.com/blogs/labs/2011/06/scalas-numeric-type-class-pt-2/

ただし、@specialized使用せずに複素数クラスのバージョンを直接記述してNumeric、すべての利点を得ることができます。

厳密に実用的な観点から、整数部分を持つ複素数の使用法を理解することはできません...

于 2011-07-04T08:59:02.827 に答える