gpt4 book ai didi

generics - 编写没有大量样板类型约束的通用浮点代码

转载 作者:行者123 更新时间:2023-11-29 07:58:17 25 4
gpt4 key购买 nike

有没有办法指定泛型类型 T只能是f32f64 ?否则我最终会施加很多样板类型约束:Copy , Add<Output=T> , Sub<Output=T> , Mul ..., Div ..., Zero , One等,一段时间后会变得乏味。另外,我担心这个列表会增长到包括 Sin , Cos , Tan等 future 。

最佳答案

你想要 num::traits::Float , 在 crate 中可用 num .

满足Float的每种类型保证是 Num + Copy + NumCast + PartialOrd + Neg<Output=Self> .反过来,PartialEq + Zero + One + Add + Sub + Mul + Div + Rem Num 需要.这回答了您对基本算术的第一个要求。其他操作,如 sin() , cos()可作为 Float 中的成员函数使用.

最后,f32f64作为 Float 的实现者开箱即用.

关于generics - 编写没有大量样板类型约束的通用浮点代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31417422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com