[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
**Subject**: **Re: Lua evolution and C99**
**From**: Gavin Wraith <gavin@...>
**Date**: Fri, 05 Aug 2011 12:12:28 +0100

In message <CA+ZMS_uWb8ghXrQzVj-06hmEURVD2+WuCmQxrS+zZRmOzZooxw@mail.gmail.com>
you wrote:
> On Fri, Aug 5, 2011 at 9:40 AM, Lorenzo Donati
> <lorenzodonatibz@interfree.it> wrote:
> > I was wondering whether "porting" Lua to C99, i.e. using C99 features to
> > enhance it, would allow some real advantages over C90.
> ... Scientific people tend to think of floating-point
> numbers as a specialization of complex numbers, but they are the
> minority.
Engineers maybe (no flame intended) but not mathematicians. Complex
numbers extend integers in two ways: having a square root of -1 and
completeness (every Cauchy sequence has a limit). The latter property
is impossible to implement on a computer so it comes down to what
fudges you choose to make. Most people are brainwashed into thinking
that the IEEE notion of floating point is handed down on tablets of stone.
The trouble is, addition and multiplication cannot be commutative
( x + y == y + x) or associative ( x + ( y + z ) == ( x + y ) + z )
for floating point numbers. There are other formats which are
( e.g. lazy lists of modular transformations ) but they have severe
drawbacks for storage. For references see Prof. Abbas Edalat's thesis.
The trouble with floating point numbers is not so much their inherent
mathematical inadequacy, but their popularity. They eclipse from
view other possible implementations of numbers, which might well
be a better solution in a particular problem-domain. In other words,
they tend to dissuade people from thinking about numbers, those horrid
things ;). What a relief to leave it all to the CPU/FPU!
--
Gavin Wraith (gavin@wra1th.plus.com)
Home page: http://www.wra1th.plus.com/