Author: J.W. Berry and P.R. Dasen