If we can do qd_real, we could also try using the arprec package and get arbitrary precision math. I might be interested in that as well...
All are written as C++ types with operator overloading... Cheers, Todd. On Wed, 4 Nov 2009, Jed Brown wrote: > Matthew Knepley wrote: >> On Wed, Nov 4, 2009 at 2:06 PM, Barry Smith <bsmith at mcs.anl.gov >> <mailto:bsmith at mcs.anl.gov>> wrote: >> >> >> This is tricky because some C/C++ compilers long double uses 128 >> bits of space but actually (on Intel) only uses 80 of the bits >> (those are the bits that floating point unit handles). So you do not >> really get 128 bits. Also MPI may not properly handle the 128 bit >> doubles. >> >> >> I figured that his types were just C++ types once he said they were >> provided by a package. > > QD is honest quad-double (32 bytes, all of them significant) > > http://crd.lbl.gov/~dhbailey/mpdist/ > > They are C++ types with appropriate overloading, but the operations are > implemented in terms of conventional double-precision where as "long > double" is a different beast. > >> I am investigating qd now. Is there any MPI implementation that >> uses qd? Do you need MPI? >> >> >> Can't we just make a type the correct number of bytes long? > > I think so (on homogeneous hardware), but you have to create your own > version of each MPI_Op that does the right thing with this longer type. > > Jed > >
