繁体   English   中英

为复数定义 class 是否有意义,其中实部/虚部使用 Numeric[T] 而不是具体类型?

[英]Does it make sense to define a class for Complex numbers, where real/imaginary parts use Numeric[T] instead of a concrete type?

会像

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

有道理,而不是写一个Complex class 使用Double s,一个使用Long s,一个使用BigInt s,这样每个人都可以选择他需要的数字类型?

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

目前, Numeric不是@specialized 所以使用它的通用版本会受到装箱和拆箱的影响,性能会大大降低。 这是一篇不错的博客文章,其中包含性能测量:

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

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

从严格实用的角度来看,我不确定使用 integer 零件的复数的用途是什么......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM