GDC + VRDC 2019 Session Scheduler

View, browse and sort the ever-growing list of GDC sessions by pass type, track, format, and more! With Session Scheduler, create an account to build your own GDC schedule and access it anywhere, including on the GDC app, once live.

If you've registered for GDC, you can use the same login credentials. Adding a session to your schedule does not guarantee you a seat. Sessions do fill up, so please arrive early to sessions that you would like to attend.

Math for Game Developers: Understanding and Tracing Numerical Errors in C++

Gino van den Bergen (Physics Simulation Expert, Dtecta)

Location: Room 2006, West Hall

Date: Tuesday, March 19

Time: 3:00pm - 3:30pm

Pass Type: All Access, GDC Conference + Summits, GDC Summits - Get your pass now!

Topic: Programming

Format: Tutorial

Tutorials: Math for Game Developers

Vault Recording: Video

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.

Takeaway

Attendees will learn some of the pitfalls of floating-point computations, and take home a new C++ tool for tracing numerical errors.

Intended Audience

Programmers who want to come to terms with the peculiarities of floating-point arithmetic. Some knowledge of C++ is assumed.