CS Document 484-v1
Improving Standard C++ for the Physics Community
- Public document
- Same as Viewable by
- As Fermilab's representatives to the C++ standardization effort, we have been promoting directions of special interest to the physics community. We here report on selected recent developments toward the next revision of the C++ Standard. Topics will include standardization of random number and special function libraries, as well as core language issues promoting improved run-time performance.
The random number library provides an extensible framework for random number generators. It includes a handful of widely-used and high-quality random number engines, as well as some of the most widely-used random number distributions. The modular design makes it easy for users to add their own engines, and perhaps more importantly their own distributions, on an equal footing with those in the library.
The special functions library contains many of the commonly-used functions of mathematical physics. These include a variety of cylindrical and spherical Bessel functions, Legendre and associated Legendre functions, hypergeometric and confluent hypergeometric functions, among others.
We also report on an ongoing analysis, and proposal for core language additions, with the goal of improved run-time performance. Current compilers routinely perform inter-procedural flow analysis within a compilation unit. These additions would allow compilers to perform comparable analysis between compilation units, and to optimize code based on their findings.
- Notes and Changes:
- Fermilab Publication number CONF-04-485-CD
- Associated with Events:
- CHEP2004 held from 27 Sep 2004 to 01 Oct 2004 in Interlaken, Switzerland