Skip to content

Instantly share code, notes, and snippets.

@manishym
Created December 22, 2011 04:58
Show Gist options
  • Save manishym/1508969 to your computer and use it in GitHub Desktop.
Save manishym/1508969 to your computer and use it in GitHub Desktop.
Square root by newtons method - improved
(defun my-sqrt (x)
(labels (
(try (guess)
(let ((improved (improve guess)))
(if (good-enough? guess improved)
improved
(try improved))))
(improve (guess)
(average guess (/ x guess)))
(good-enough? ( guess improved)
(if (< (abs (- 1 (/ guess improved))) eps )
improved
nil)))
(try 1.0)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment