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

Reply via email to