Files
comp3958/tinker/tinker.ml
T
2026-01-13 09:30:23 -08:00

19 lines
422 B
OCaml

let pow b e =
let rec pow' acc i =
if i = 0 then acc
else pow' (acc * b) (i - 1)
in
pow' 1 e;;
let rec root n k g =
let next = (1. /. k) *. ((k -. 1.) *. g +. n /. float_of_int (pow g (k - 1))) in
if abs(next - g) < 0.00000000001 then next
else root n k next;;
let float_pow b e =
let rec float_pow' acc i =
if i <= 0. then acc
else float_pow' (acc *. b) (i -. 1.)
in
float_pow' 1. e;;