加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 为复数定义一个类是否有意义,其中实/虚部分使用Numeric

发布时间:2020-12-16 10:01:49 所属栏目:安全 来源:网络整理
导读:会是这样的 class Complex[T: Numeric](real: T,imag: T) 有道理,而不是使用Doubles写一个Complex类,一个使用Longs,一个使用BigInts,这样每个人都可以选择他需要的数字类型? 性能与非通用方法相比如何? 解决方法 目前,Numeric不是@specialized.所以使用它
会是这样的

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

有道理,而不是使用Doubles写一个Complex类,一个使用Longs,一个使用BigInts,这样每个人都可以选择他需要的数字类型?

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

解决方法

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

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

但是,您可以直接编写复杂数字类的@specialized版本,而无需使用数字并获得所有好处.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读