diff options
author | rsiddharth <s@ricketyspace.net> | 2018-02-10 20:29:38 +0000 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2018-02-10 20:29:38 +0000 |
commit | f7e6dbe6ff8fcbb69e27b9a01bd55f90d65c2642 (patch) | |
tree | 60b500b471bef81443aecf0631b00cdccec69089 | |
parent | ea6a6b914f2d4d79a5cc819e1e29d461e9a211f3 (diff) |
net: Add (net ricketyspace sicp one thirtyseven).
* net/ricketyspace/sicp/one/thirtynine.scm: New file.
-rw-r--r-- | net/ricketyspace/sicp/one/thirtynine.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/net/ricketyspace/sicp/one/thirtynine.scm b/net/ricketyspace/sicp/one/thirtynine.scm new file mode 100644 index 0000000..b85b632 --- /dev/null +++ b/net/ricketyspace/sicp/one/thirtynine.scm @@ -0,0 +1,24 @@ +;;;; Under Creative Commons Attribution-ShareAlike 4.0 +;;;; International. See +;;;; <https://creativecommons.org/licenses/by-sa/4.0/>. + +(define-module (net ricketyspace sicp one thirtynine) + #:use-module (net ricketyspace sicp one thirtyseven) + #:export (tan-cf)) + +(define (tan-cf x k) + (define (n i) (if (= 1 i) x (* -1 (expt x 2.0)))) + (define (d i) (1- (* 2.0 i))) + (cont-frac-rec n d k)) + +;;; GNU Guile REPL +;;; +;;; scheme@(guile-user)> ,use (net ricketyspace sicp one thirtynine) +;;; scheme@(guile-user)> (tan-cf 45 1000) +;;; $39 = 1.6197751905438595 +;;; scheme@(guile-user)> (tan-cf 90 1000) +;;; $40 = -1.9952004122082423 +;;; scheme@(guile-user)> (tan-cf 135 1000) +;;; $41 = -0.08871575677005962 +;;; scheme@(guile-user)> (tan-cf 180 1000) +;;; $42 = 1.3386902103511542 |