Session Name: | Math for Game Developers: Understanding and Tracing Numerical Errors in C++ |
Speaker(s): | Gino van den Bergen |
Company Name(s): | Dtecta |
Track / Format: | Programming |
Did you know free users get access to 30% of content from the last 2 years?
Overview: | 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. |