bug in rational arithmetic ?



Hello,
  Consider the following.

(%i1) r(x):= rationalize(x);
(%o1)                       r(x) := rationalize(x)
(%i2) r(2 + 3) - r(2) - r(3);
(%o2)                                  0
(%i3) r(2.1 + 3) - r(2.1) - r(3);
(%o3)                                  0
(%i4) r(2.1 + 3.2) - r(2.1) - r(3.2);
                                        1
(%o4)                           ---------------
                                 866076851417430


Is this a bug in arithmetic? Does maxima "assume" that 2.1 and 3.2 are
floating point numbers by default?

If so, how do I declare all numbers and variables to be rational
throughout a session?

TIA,


-sen

-- 
  ---------------------------------------------------------------------------
  | Sheldon E. Newhouse            |    e-mail: sen1 at math.msu.edu           |
  | Mathematics Department         |       				   |
  | Michigan State University      | telephone: 517-355-9684                |
  | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562                |
  ---------------------------------------------------------------------------