- use allocator class to wrap the stream pointers instead of passing
them into ISstream, OSstream and using a dynamic cast to delete
then. This is especially important if we will have a bidirectional
stream (can't delete twice!).
STYLE:
- file stream constructors with std::string (C++11)
- for rewind, explicit about in|out direction. This is not currently
important, but avoids surprises with any future bidirectional access.
- combined string streams in StringStream.H header.
Similar to <sstream> include that has both input and output string
streams.
STYLE: integrateLimits() -> integrate() for consistency with
DataEntry/polynomial. Rename old 'integrate', 'integrateMinus1'
methods to 'integral', 'integralMinus1' (ie, substantive instead of
verb for clarity).
OLD timings:
~~~~~~~~~~~~~~~~~~
evaluate: -6.82572e+31 in 10.38 s
hard-coded 0: -6.82572e+31 in 0.2 s
hard-coded 1: -6.82572e+31 in 10.37 s
hard-coded 2: -6.82572e+31 in 0.24 s
New timings:
~~~~~~~~~~~~~~~~~~
evaluate: -6.82572e+31 in 0.11 s