用整数进行实数的SML取幂

时间:2016-02-27 06:52:14

标签: sml smlnj exponent

我编写了一个函数,它使用base,b和expals e进行取幂,如下所示:

fun power b e = if e = 0 then 1 else b * power b (e-1);

显然这适用于整数,如输出所示:

val power = fn : int -> int -> int

但是,我希望它采用真实的b和e的整数。我尝试使用以下内容:

fun power (b : real) (e : int) = if e = 0 then 1 else b * power b (e-1);

这给了我错误。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

将来也有同样问题的其他人:

你必须强制该函数返回一个实数并返回一个真实的然后情况。

fun power b e : real = if e = 0 then 1.0 else b * power b (e-1);

返回:

val power = fn : real -> int -> real