December 21, 2010 Over at his blog, where he has been solving
the exercises in SICP, Bill Cruise reached the section of the
book that discusses interval arithmetic; if you want an
introduction to the topic, you might want to look at
http://www.cs.utep.edu/interval-comp/hayes.pdf. Given an
interval [x,y] with x the lower bound and y the upper bound, the
basic operations of interval arithmetic are defined as follows:
- [a,b] + [c,d] = [a+c,b+d] - [a,b] − [c,d] = [a−d,b−c] - [a,b]
× [c,d] = [min(ac,ad,bc,bd), max(ac,ad,bc,bd)] - [a,b] ÷ [c,d] =
[min(a/c,a/d,b/c,b/d), max(a/c,a/d,b/c,b/d)], where division by
an interval containing zero is undefined Your task is to write a
basic library for interval arithmetic; you may do as many of the
SICP exercises as you wish. When you are finished, you are
welcome to read or run a suggested solution, or to post your own
solution or discuss the exercise in the comments below.