]> git.rkrishnan.org Git - sicp.git/blobdiff - src/sicp/ch2_1_extended.clj
Merge branch 'master' of github.com:vu3rdd/sicp
[sicp.git] / src / sicp / ch2_1_extended.clj
index 07e67903a72606d40c869bc9ec2b45fe5e1dca59..0631e7dfb9201a1b1faa7af83fdcc01bc11c28fd 100644 (file)
                                (/ 1.0 (lower-bound y)))))
 
 
+;; provide new constructors
+(defn make-center-width [c w]
+  (make-interval (- c w) (+ c w)))
+
+(defn center [i]
+  (/ (+ (lower-bound i) (upper-bound i)) 2))
+
+(defn width [i]
+  (/ (- (upper-bound i) (lower-bound i)) 2))
+
+;; parallel-resistor formula
+(defn par1 [r1 r2]
+  (div-interval (mul-interval r1 r2)
+               (add-interval r1 r2)))
+
+(defn par2 [r1 r2]
+  (let [one (make-interval 1 1)]
+    (div-interval one
+                 (add-interval (div-interval one r1)
+                               (div-interval one r2)))))