Thread overview
Are there any floating point libraries for D?
Jul 28, 2005
Don Clugston
Jul 28, 2005
Ben Hinkle
Jul 29, 2005
Don Clugston
Jul 29, 2005
Ben Hinkle
Jul 29, 2005
Sean Kelly
Jul 31, 2005
Manfred Nowak
July 28, 2005
Hello -
I'm just starting to explore D. I have a particular interest in floating point
calculations, which D seems to have superb language support for.
But I have not been able to find any libraries which take advantage of this
support. (In fact even C99 libraries seem to be rare on the web).
Am I correct in believing that this incredible potential is almost completely
untapped at present? What is out there so far?

Cheers,
Don.


July 28, 2005
"Don Clugston" <Don_member@pathlink.com> wrote in message news:dc9g60$13ae$1@digitaldaemon.com...
> Hello -
> I'm just starting to explore D. I have a particular interest in floating
> point
> calculations, which D seems to have superb language support for.
> But I have not been able to find any libraries which take advantage of
> this
> support. (In fact even C99 libraries seem to be rare on the web).
> Am I correct in believing that this incredible potential is almost
> completely
> untapped at present? What is out there so far?
>
> Cheers,
> Don.

What sort of functionality are you looking for? Something like LAPACK or
Blitz?
There's a proposal for better multi-dimensional array support by Norbert
Nemec (see for example
http://www.digitalmars.com/d/archives/digitalmars/D/3223.html) but I'm not
aware of any D-specific libraries. A (not-so-complete) list of libraries is
at http://www.prowiki.org/wiki4d/wiki.cgi?AllLibraries


July 29, 2005
In article <dcai9k$1se8$1@digitaldaemon.com>, Ben Hinkle says...
>"Don Clugston" <Don_member@pathlink.com> wrote in message news:dc9g60$13ae$1@digitaldaemon.com...
>> Hello -
>> I'm just starting to explore D. I have a particular interest in floating
>> point
>> calculations, which D seems to have superb language support for.
>> But I have not been able to find any libraries which take advantage of
>> this
>> support. (In fact even C99 libraries seem to be rare on the web).
>> Am I correct in believing that this incredible potential is almost
>> completely
>> untapped at present? What is out there so far?
>>
>> Cheers,
>> Don.
>
>What sort of functionality are you looking for? Something like LAPACK or Blitz?

Anything, really. It seems that Phobos doesn't even have the most trivial
functions for complex numbers -- eg. exp(creal x).
The combination of built-in support for 80-bit imaginary numbers, NCEG
operators, unit tests, and the template features could easily make D the most
robust (and fast) language for computation. I'm a research scientist/engineer,
with a significant experience of x86 FP assembler and modern C++, so I believe I
could make a contribution in this area. I just want to make sure that I wouldn't
be reinventing the wheel.

>There's a proposal for better multi-dimensional array support by Norbert Nemec (see for example http://www.digitalmars.com/d/archives/digitalmars/D/3223.html)

That is truly awesome! It does caution me against doing much matrix work, though -- that proposal would render a lot of code obselete.

but I'm not
>aware of any D-specific libraries. A (not-so-complete) list of libraries is at http://www.prowiki.org/wiki4d/wiki.cgi?AllLibraries

It looks very easy to find something that hasn't already been done :) Maybe I can write std.complex.d


July 29, 2005
[snip]
> It seems that Phobos doesn't even have the most trivial
> functions for complex numbers -- eg. exp(creal x).
> The combination of built-in support for 80-bit imaginary numbers, NCEG
> operators, unit tests, and the template features could easily make D the
> most
> robust (and fast) language for computation. I'm a research
> scientist/engineer,
> with a significant experience of x86 FP assembler and modern C++, so I
> believe I
> could make a contribution in this area. I just want to make sure that I
> wouldn't
> be reinventing the wheel.

Welcome - it's great to have people interested in numerics. Things are pretty quiet right now over the summer but we have gotten some good threads on number-crunching in the past.

>>There's a proposal for better multi-dimensional array support by Norbert Nemec (see for example http://www.digitalmars.com/d/archives/digitalmars/D/3223.html)
>
> That is truly awesome! It does caution me against doing much matrix work,
> though
> -- that proposal would render a lot of code obselete.

True - I think there have been several vector/matrix modules coded up (2 and 3 dim mostly). I don't have any links handy, though.

> but I'm not
>>aware of any D-specific libraries. A (not-so-complete) list of libraries
>>is
>>at http://www.prowiki.org/wiki4d/wiki.cgi?AllLibraries
>
> It looks very easy to find something that hasn't already been done :) Maybe I can write std.complex.d

Go for it. I'm sure it will be appreciated. It is pretty common to request
at dsource if you need a host and forum. The url is http://www.dsource.org -
ask for Brad :-)
Or if you are planning something somewhat small like a single module for std
(as you suggest) then the typical approach is to post some ideas or post
some code and have people comment and then send it to Walter. You can also
just email Walter to get his opinion on the whole thing but be aware he's
out right now.


July 29, 2005
In article <dcbsvs$8em$1@digitaldaemon.com>, Don Clugston says...
>
>In article <dcai9k$1se8$1@digitaldaemon.com>, Ben Hinkle says...
>>
>>What sort of functionality are you looking for? Something like LAPACK or Blitz?
>
>Anything, really. It seems that Phobos doesn't even have the most trivial functions for complex numbers -- eg. exp(creal x).

For what it's worth, I've exposed all the standard C routines that DMD supports (that being all of them) for complex mathematics.  Links are here:

http://svn.dsource.org/projects/ares/trunk/src/ares/std/c/complex.d http://svn.dsource.org/projects/ares/trunk/src/ares/std/c/math.d

>The combination of built-in support for 80-bit imaginary numbers, NCEG operators, unit tests, and the template features could easily make D the most robust (and fast) language for computation. I'm a research scientist/engineer, with a significant experience of x86 FP assembler and modern C++, so I believe I could make a contribution in this area. I just want to make sure that I wouldn't be reinventing the wheel.

Definately not.  And it would be great to have a solid numeric library for D.


Sean


July 31, 2005
Don Clugston <Don_member@pathlink.com> wrote:

> It looks very easy to find something that hasn't already been done :) Maybe I can write std.complex.d

An it is as easy to overlook, that there are already processor specific libraries available.

For the Athlon 64 AMD has released "AMD Core Math Library (ACML)" with versions of BLAS, LAPACK etc. and a C interface to them. Therefore al that has to be done is to convert the headerfile to D.

-manfred