--- Jeffrey Dik <jeffrey.dik / myrealbox.com> wrote: > Hi, > > I've noticed some inconsistancies with > Math.sqrt(-1). Here's what the > rdoc in math.c says: > > /* > * call-seq: > * Math.sqrt(numeric) => float > * > * Returns the non-negative square root of > <i>numeric</i>. Raises > * <code>ArgError</code> if <i>numeric</i> is less > than zero. > */ Documentation bug. It calls rb_sys_fail() internally, which raises whatever error your platform would raise. So, ArgError (which should be ArgumentError anyway) should be replaced with SystemCallError in the documentation. Another option is, as you suggest, to explicitly raise an ArgumentError if the number is less than zero. Maybe there was a good reason for removing this but I couldn't tell you what it is. A third option would be to have an explicit MathError class raised for all functions that fail in math.c. I doubt that's an option at this point, though. Regards, Dan __________________________________ Yahoo! for Good - Make a difference this year. http://brand.yahoo.com/cybergivingweek2005/