簡體   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