Questions tagged [double-double-arithmetic]

10 questions
68
votes
8 answers

Emulate "double" using 2 "float"s

I am writing a program for an embedded hardware that only supports 32-bit single-precision floating-point arithmetic. The algorithm I am implementing, however, requires a 64-bit double-precision addition and comparison. I am trying to emulate double…
user210870
11
votes
1 answer

Emulating FP64 with 2 FP32 on a GPU

If one were to emulate double precision floating point with two single precision floating points what would the performance be like, and can it be done well? Currently Nvidia is charging quite a premium for double precision enabled Tesla cards which…
Agade
  • 505
  • 6
  • 18
10
votes
3 answers

Optimize for fast multiplication but slow addition: FMA and doubledouble

When I first got a Haswell processor I tried implementing FMA to determine the Mandelbrot set. The main algorithm is this: intn = 0; for(int32_t i=0; i
Z boson
  • 32,619
  • 11
  • 123
  • 226
3
votes
1 answer

double-double precision floating point as sum of two doubles

Following papers and source code for double-double arithmetic for some time, I still can't find out how exactly a dd_real ( defined as struct dd_real { double x[2];...}) number is split into two doubles. Say if I initialize it with a string, dd_real…
rych
  • 682
  • 3
  • 10
  • 22
3
votes
1 answer

How can I convert between a double-double and a decimal string?

One way of increasing precision beyond that of a double (e.g. if my application is doing something space-related that needs to represent accurate positions over distances of many light-years) is to use a double-double, a structure composed of two…
user9723177
3
votes
1 answer

float128 and double-double arithmetic

I've seen in wikipedia that someway to implement quad-precision is to use double-double arithmetic even if it's not exactly the same precision in terms of bits: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format In this case, we…
1
vote
1 answer

Double-double-arithmetic in C++ working, same code in OpenGL does not

I have implemented a mandelbrot-explorer in OpenGL. For deeper zooms I'm trying to implement double-double-arithmetic. I have working code for that in C++ but - if I haven't overlooked something - the exact same code only produces double-precision…
Paul Aner
  • 361
  • 1
  • 8
1
vote
1 answer

PPC64 long double's machine epsilon calculation

I'm playing around with a PPC64 virtual machine emulated in qemu, trying to mimic a POWER8 CPU. Here, the long double type is different from the 80-bit float used in x86 for long doubles, and from what I see it does not conform to IEEE754's float128…
1
vote
1 answer

Vector double-double floating point arithmetic

There exist workloads for which double precision floating point is not quite adequate, hence a need for quad precision. This is rarely supplied in hardware, so a workaround is to use double-double, where a 128-bit number is represented by a pair of…
rwallace
  • 31,405
  • 40
  • 123
  • 242
1
vote
1 answer

double-double implementation resilient to FPU rounding mode

Context: double-double arithmetic “Double-double” is a representation of numbers as the sum of two double-precision numbers without overlap in the significands. This representation takes advantage of existing double-precision hardware…
Pascal Cuoq
  • 79,187
  • 7
  • 161
  • 281