From: Chris Gehlker Date: 2006-08-12T02:01:54+09:00 Subject: Re: Confused by Bignum#remainder On Aug 11, 2006, at 7:17 AM, Michael Ulm wrote: > OK. I understand now. What I took to be an attack on mathematics as > it was > taught to you was just an ellipse to get to the main point. Sorry > for the > misunderstanding. And I do agree with your main point, except that > I _do_ > blame the language implementors and designers. As you pointed out, > Ruby > does it right. If other languages do it wrong I do hold it against > them. I'm afraid I was a little arch and i confused you. I apologize. Let me try to be very straightforward. I'm not *that* old but discrete math has evolved in my lifetime. This was brought home to me dramatically when I took the aforementioned math class. The age distribution in the class was bimodal and it turned out that the 'old folks' had a fundamentally different notion of what a remainder was, what was meant by set equivalency, and some other things that escape me at the moment. The instructor found this both fascinating and funny. She did a little research and gave a lecture on the subject. From memory, she told us that originally mathematicians had though that, for example, {a, b, c} and {a, b, b, c} were distinct sets. But this approach had left them unable to prove some theorems in set theory that they though they should be able to prove. So in fairly recent times they went back to the drawing board and decided that those two sets were equivalent after all. Since set theory underlies so much of discrete math this change had repercussions. The point of all this is that the modulus functions in C and FORTRAN don't work the way they do because their original implementers were sloppy. They simply embody the then contemporary notion of modulus. -- Egotism is the anesthetic that dulls the pain of stupidity. -Frank William Leahy, football coach (1908-1973)