GDC Vault is part of the Informa Tech Division of Informa PLC
This is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.
Math for Game Developers: Understanding and Tracing Numerical Errors in C++
Computer number representations have limited precision. Results of arithmetic operations are rounded to the nearest representable number. The effect of rounding can be hard to estimate, however, it helps to think in terms of relative error rather than absolute error. This session will discuss how computations introduce large relative rounding errors and show how to determine the maximum relative error in a computed value. In C++ code, a tight upper bound for the rounding error can be determined automatically for every computed value by substituting float or double types with a proxy class. The presentation will show how to write C++ functions and expressions such that the ErrorTracer proxy class can be dropped in transparently and helps to validate the stability of your computations.
Did you know free users get access to 30% of content from the last 2 years?