View difference between Paste ID: kPhBjiHi and xiYyAJyg
SHOW: | | - or go back to the newest paste.
1
(define (abs x)
2
  (cond ((< x 0) (- x))
3
        (else x)))
4
5
(define (square x) (* x x))
6-
  (new-if (good-enough? guess x)
6+
  
7-
          guess
7+
8-
          (sqrt-iter (improve guess x)
8+
(define (improve guess x)
9-
                     x)))
9+
  (average guess (/ x guess)))
10
11
(define (average x y)
12
    (/ (+ x y) 2))
13
14
(define (good-enough? guess x)
15
  (< (abs (- (square guess) x)) 0.001))
16
17
(define (new-if predicate then-clause else-clause)
18
  (cond (predicate then-clause)
19
        (else else-clause)))
20
21
22
(define (sqrt-iter guess x)
23
    (if (good-enough? guess x)
24
        guess
25
        (sqrt-iter (improve guess x)
26
                   x)))
27
28
(define (sqrt x)
29
  (sqrt-iter 1.0 x))