4

会像

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

有意义,而不是写一个Complex类用Doubles,一个用Longs,一个用BigInts,让大家可以选择自己需要的数字类型?

与非通用方法相比,性能如何?

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 回答