Differences Between Analysis Function Results in National Instruments Software

Updated Oct 25, 2018

Reported In

Software

  • LabVIEW
  • LabWindows/CVI
  • Measurement Studio

Issue Details

I am comparing the result of Mathematics functions and Signal Processing functions between 32-bit and 64-bit applications written in LabVIEW, Measurement Studio, or LabWindows/CVI, and I see slight numerical difference between them. Why are there minor difference in the result of these functions in 32-bit applications and 64-bit applications?

Solution

Mathematical operations on floating-point numbers in 32-bit Windows applications use processor registers that are 80 bits wide. Mathematical operations on floating-point numbers in 64-bit Windows applications use processor registers that are only 64 bits wide. This difference in the number of bits in the processor registers yields different results for 32-bit applications and 64-bit applications that perform the same mathematical operations.

The restriction to 64-bit registers for floating-point operations in 64-bit Windows applications is enforced by Microsoft Visual Studio. This restriction is designed to improve performance at a cost to precision.