对于下面的二次公式,我有多个a
butfixed
b
和c
。
我希望编写一个partial application
高效执行的函数,即我的函数不会重新计算固定值(因为b
and c
)。
这是我的解决方案
let r b c = let z = b *. b in fun a -> (-.b +. sqrt (z-.4.0*.a*.c))/.(a*.2.0);;
我想这个解决方案可以工作,但我不确定它是否足够有效。我只是做b^2
了修复,因为我看到其他部分都带有a
.
谁能给我一个更好的解决方案?