It’s pretty hard to find a language which can crunch numbers as fast as C++. But much of its reputation for being an unsafe language comes from its numeric types. Is it possible to make numbers easier to use without slowing down your program? This talk looks at how to use custom arithmetic types to avoid errors such as overflow and truncation without paying more than you need to. I’ll cover many of the gotchas associated with integers and how to avoid them through good practices and a numerics library that I’m developing called CNL.