In the context you are using residue it is an error. But in J it is not an error. Before J64 the automatic promotion of boolean to integers, integers to float was completely safe as integers were a proper subset of float. Not any more.
Floating point is not good for many mathematical problems, particularly like those in Quora or Project Euler. Actually when working Project Euler I always use extended integers or rationals as many problems exceed 64 bit integers and the problems are intended to make one look for solutions beyond the obvious ones. Float is intended to approximate real numbers and as put in an article I read somewhere, "measured values". Float can handle the National debt if computed in pennies, but not if in dollars. It can't even properly handle one's personal bank account if kept in dollars. But fuzz allows this one to deal with dollars as if the pennies are exact, which they are not. To me fuzz simplifies what I do. But in extreme situations it doesn't work. That is a tradeoff that has been debated in the past. Power is defined as having real values (which are approximated in computers as rational numbers with a power of two denominator), Square (*:) returns integers if the arguments are integer. Power (^) always gives float. That today's computers are binary and not decimal which causes many problems. It would be great if we had either eight or sixteen fingers. And with sixteen fingers could I really play the piano. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
