From 9aa02456756b875eb7174897670950f71be0b8e4 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Sun, 23 Oct 2016 21:33:41 +0000 Subject: [PATCH] Stub for exact-integer-sqrt --- scheme/base.sld | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scheme/base.sld b/scheme/base.sld index 9c732e48..4b101d77 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -35,6 +35,7 @@ floor-remainder even? exact-integer? + ;exact-integer-sqrt exact? inexact? odd? @@ -1043,6 +1044,15 @@ (if (>= res 0) res (+ res b))))) (define (odd? num) (= (modulo num 2) 1)) (define (even? num) (= (modulo num 2) 0)) +; ;; from mosh +; (define (exact-integer-sqrt k) +; (unless (and (exact? k) +; (integer? k) +; (not (negative? k))) +; (error "exact non-negative integer required" k)) +; (let* ((s (exact (truncate (sqrt k)))) +; (r (- k (* s s)))) +; (values s r))) (define (exact-integer? num) (and (exact? num) (integer? num))) (define-c exact?