gpt4 book ai didi

f# - 使函数适用于所有数字类型(int、float、long)

转载 作者:行者123 更新时间:2023-12-01 08:16:05 32 4
gpt4 key购买 nike

这个简单的功能:

let sum a b = a + b

将工作 仅适用于 int 类型

如何使它也适用于 float 和 long ?

最佳答案

使用inline :

let inline sum a b = a + b

更新:

如果您有兴趣编写自己的多态数值函数,您应该同时使用 inlineLanguagePrimitives模块。

这是来自线程 Converting Haskell Polymorphic Cosine function to F# 的多态余弦函数:
let inline cosine n (x: ^a) = 
let one: ^a = LanguagePrimitives.GenericOne
Seq.initInfinite(fun i -> LanguagePrimitives.DivideByInt (- x*x) ((2*i+1)*(2*i+2)))
|> Seq.scan (*) one
|> Seq.take n
|> Seq.sum

关于f# - 使函数适用于所有数字类型(int、float、long),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192390/

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