On Friday, 10 August 2012 at 22:11:23 UTC, Walter Bright wrote:
On 8/10/2012 8:31 AM, TJB wrote:
On Thursday, 9 August 2012 at 18:35:22 UTC, Walter Bright
wrote:
On 8/9/2012 10:40 AM, dsimcha wrote:
I'd emphasize the following:
I'd like to add to that:
1. Proper support for 80 bit floating point types. Many
compilers' libraries
have inaccurate 80 bit math functions, or don't implement 80
bit floats at
all. 80 bit floats reduce the incidence of creeping roundoff
error.
How unique to D is this feature? Does this imply that things
like BLAS and
LAPACK, random number generators, statistical distribution
functions, and other
numerical software should be rewritten in pure D rather than
calling out to
external C or Fortran codes?
I attended a talk given by a physicist a few months ago where
he was using C transcendental functions. I pointed out to him
that those functions were unreliable, producing wrong bits in a
manner that suggested to me that they were internally
truncating to double precision.
He expressed astonishment and told me I must be mistaken.
What can I say? I run across this repeatedly, and that's
exactly why Phobos (with Don's help) has its own
implementations, rather than simply calling the corresponding C
ones.
I encourage you to run your own tests, and draw your own
conclusions.
Hopefully this will help make the case that D is the best choice
for numerical programmers. I want to do my part to convince
economists.
Another reason to implement BLAS and LAPACK in pure D is that the
old routines like dgemm, cgemm, sgemm, and zgemm (all defined for
different types) seem ripe for templatization.
Almost thou convinceth me ...
TJB