| Home | Libraries | People | FAQ | More

## History and Acknowledgments

#### Pre-formal review

- Kevlin Henney, with help from David Abrahams and Beman Dawes, originally contributed the previous version of `numeric_cast<>` which already presented the idea of a runtime range check.
- Later, Eric Ford, Kevin Lynch and the author spotted some genericity problems with that `numeric_cast<>` which prevented it from being used in a generic layer of math functions.
- An improved `numeric_cast<>` which properly handled all combinations of arithmetic types was presented.
- David Abrahams and Beman Dawes acknowledged the need of an improved version of `numeric_cast<>` and supported the submission as originally laid out. Daryl Walker and Darin Adler made some important comments and proposed fixes to the original submission.
- Special thanks go to Björn Karlsoon who helped the author considerably. Having found the problems with `numeric_cast<>` himself, he revised very carefully the original submission and spot a subtle bug in the range checking implementation. He also wrote part of this documentation and proof-read and corrected other parts. And most importantly: the features now presented here in this library evolved from the original submission as a result of the useful private communications between Björn and the author.

#### Post-formal review

- Guillaume Melquiond spoted some documentation and code issues, particularly about rounding conversions.
- The following people contributed an important review of the design, documentation and c ode: Kevin Lynch, Thorsten Ottosen, Paul Bristow, Daryle Walker, Jhon Torjo, Eric Ford, Gennadiy Rozental.