在实数/虚数部分使用Numeric[T]而不是具体类型的情况下,为复数定义一个类有意义吗



想要吗

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

有意义的是,不是用Doubles、Longs、BigInts编写一个Complex类,这样每个人都可以选择他需要的数字类型?

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

目前,Numeric不是@specialized。因此,使用它的通用版本将受到装箱和开箱的影响,性能将大大降低。这里有一篇很好的博客文章,介绍了性能指标:

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

然而,您可以在不使用Numeric的情况下直接编写复数类的@specialized版本,并获得所有好处。

从严格实用的角度来看,我不确定带整数部分的复数的用法是什么。。。

相关内容

最新更新