[英]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.