Safe Numerics
Tutorial and Motivating Examples
Arithmetic Expressions Can Yield Incorrect Results
Arithmetic Operations Can Overflow Silently
Arithmetic on Unsigned Integers Can Yield Incorrect Results
Implicit Conversions Can Lead to Erroneous Results
Mixing Data Types Can Create Subtle Errors
Array Index Value Can Exceed Array Limits
Checking of Input Values Can Be Easily Overlooked
Cannot Recover From Arithmetic Errors
Compile Time Arithmetic is Not Always Correct
Programming by Contract is Too Slow