Blame


1 665c255d 2023-08-04 jrmu (define (cbrt x)
2 665c255d 2023-08-04 jrmu (cbrt-iter 1.0 x))
3 665c255d 2023-08-04 jrmu
4 665c255d 2023-08-04 jrmu (define (cbrt-iter guess x)
5 665c255d 2023-08-04 jrmu (if (good-enough? guess x)
6 665c255d 2023-08-04 jrmu guess
7 665c255d 2023-08-04 jrmu (cbrt-iter (improve guess x) x)))
8 665c255d 2023-08-04 jrmu
9 665c255d 2023-08-04 jrmu (define (good-enough? guess x)
10 665c255d 2023-08-04 jrmu (< (abs (- (cube guess) x)) 0.001))
11 665c255d 2023-08-04 jrmu
12 665c255d 2023-08-04 jrmu (define (improve guess x)
13 665c255d 2023-08-04 jrmu (/ (+ (/ x (square guess)) (* 2 guess)) 3))
14 665c255d 2023-08-04 jrmu (define (square x) (* x x))
15 665c255d 2023-08-04 jrmu (define (cube x) (* x x x))
16 665c255d 2023-08-04 jrmu
17 665c255d 2023-08-04 jrmu (cbrt 15)
18 665c255d 2023-08-04 jrmu ;; 2.46621207
19 665c255d 2023-08-04 jrmu (cbrt 8)
20 665c255d 2023-08-04 jrmu ;; 2
21 665c255d 2023-08-04 jrmu (cbrt 64)
22 665c255d 2023-08-04 jrmu ;; 4