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.
|Session Name:||Math for Game Developers: Understanding and Tracing Numerical Errors in C++|
|Speaker(s):||Gino van den Bergen|
|Track / Format:||Programming|
|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.|