summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2017-02-02 03:46:17 +0000
committerrsiddharth <s@ricketyspace.net>2017-02-02 03:46:17 +0000
commit71103b4d8b088de567fd9687dac779ad2fbe0f71 (patch)
tree80a0cf0c8b7d8de4a8e787373dad42dcdcda6b04
parenta032e8f0d7cfc5d11250bee1b9d81a7ad1e0812e (diff)
guil/taocp: Rename fib-1-1000 -> fib-0-1000.
The function `fib-0-1000` returns the Fibonacci series between 0 and 1000. * guile/taocp/one/two/eight/fib.scm (fib-1-1000): Remove function. (fib-0-1000): New function.
-rw-r--r--guile/taocp/one/two/eight/fib.scm18
1 files changed, 7 insertions, 11 deletions
diff --git a/guile/taocp/one/two/eight/fib.scm b/guile/taocp/one/two/eight/fib.scm
index 80e4784..ee6103f 100644
--- a/guile/taocp/one/two/eight/fib.scm
+++ b/guile/taocp/one/two/eight/fib.scm
@@ -4,7 +4,7 @@
(define-module (taocp one two eight fib)
#:use-module (srfi srfi-1)
#:export (fib-fast
- fib-1-1000))
+ fib-0-1000))
(define phi
(/ (+ 1 (sqrt 5.0)) 2.0))
@@ -17,13 +17,6 @@
(/ (- (expt phi n) (expt phi-dash n))
(sqrt 5.0)))
-(define (fib-1-1000)
- "Return Fibonacci numbers between 1 and 1000."
- (reverse (fold (lambda (n prev)
- (cons (fib-fast n) prev))
- '()
- (iota 1000 0))))
-
(define (fib-fast-range start end)
"Return Fibonacci series between START and END."
(let ((count (1+ (- end start))))
@@ -32,9 +25,12 @@
'()
(iota count start)))))
+(define (fib-0-1000)
+ "Return Fibonacci series between 0 and 1000."
+ (fib-fast-range 0 1000))
-;; scheme@(taocp one two eight fib)> (fib-1-1000)
-;; $39 = (0.0 1.0 1.0 2.0 3.0 5.0 8.0 13.0 21.0 34.0 54.99999999999999
+;; scheme@(guile-user)> (fib-0-1000)
+;; $5 = (0.0 1.0 1.0 2.0 3.0 5.0 8.0 13.0 21.0 34.0 54.99999999999999
;; 89.0 143.99999999999997 232.99999999999994 377.00000000000006 610.0
;; 986.9999999999998 1596.9999999999998 2584.0 4181.0
;; 6764.999999999999 10945.999999999998 17710.999999999996
@@ -366,4 +362,4 @@
;; 3.534100091787516e206 5.718294068156324e206 9.252394159943839e206
;; 1.4970688228100163e207 2.4223082388044002e207
;; 3.9193770616144174e207 6.341685300418816e207 1.0261062362033233e208
-;; 1.660274766245205e208 2.6863810024485288e208)
+;; 1.660274766245205e208 2.6863810024485288e208 4.346655768693734e208)