Я получаю сообщение об ошибке, когда использую отрицательные числа с плавающей запятой в своей степенной функции - PullRequest
0 голосов
/ 04 мая 2019

Для моей функции float_pow, когда я тестирую с отрицательным x, например, используя код float_pow (-2.5) 2, я получаю это сообщение об ошибке:

"Ошибка: это выражение имеет тип float, ноожидалось выражение типа int ".

Но если я сделаю float_pow (-.2.5) 2, то код на самом деле работает.Как я могу изменить свой код, чтобы мне не нужно ставить точку после тире?

let rec float_pow x n =
    if n < 0 then
        0.
    else if n = 0 then
        1.
    else
        x *. float_pow x (n - 1);;
...