Replace #include <math.h> with #include <cmath> #454
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Motivation: standardize math-related declarations using cmath.
Prior to this change, cnglob.h included math.h. Some vendor headers included cmath. The Microsoft library can end up using different implementations of some functions (e.g. pow()) depending on include order. CSE results change when these alternative implementations are selected. Overall upshot -- adding or re-ordering includes of vendor headers could cause apparently unrelated results changes.
The primary code change in this PR is changing cnglob.h to #include <cmath>. Some redundant includes were removed. Related comments are updated.
Many regression tests show differences as a result of this change. Most are deemed trivial. In all cases, annual results are virtually unchanged. Larger and potentially significant changes are seen in hourly results in the following --