Uninitialised Variable in EAGLE Cooling
This fixes an uninitialised variable in the EAGLE cooling and fixes the SIMD expf functions for __APPLE__
platforms with the clang
compiler. Perhaps there's a better way of doing this?
Also in this MR there is a missed include in the EAGLE star formation.
Merge request reports
Activity
SIMD? The exp10 we use here has nothing to do with vectors.
It's a GNU extension to C however. So if a compiler declares
__GNUC__
it ought to implement it.Edited by Matthieu SchallerSorry, the implementations that we have are not SIMD ones, no, just that the ones that apple clang provides also have SIMD variants.
Technically they do implement the functions. I think the reason that they are hidden is because when using the apple headers for building iOS and macOS applications they have their own implementation, hence they're hidden behind
__
.Edited by Josh BorrowThat does compile on our regular systems so I guess you are the only judge of whether this helps your unorthodox fruit-based system.
However, I am confused by the comments. If clang does define
__GNUC__
(as the comment states) then shouldn't the OSX-specific block be inside the main GNUC block?This is so ugly I think we need to look at moving the logic into the place where all the ugliness resides, namely configure. We could test for
exp10
and__exp10
and set some appropriate defines.Can you try the
apple-yuk
branch and check that works for you.BTW, note that in the macros I use the function-like form with an argument, that is the best way to define replacements like this, otherwise you can match other tokens.
If the branch is good recover the other fixes in this branch for another MR, or fix this one up.
I meant to, but was interrupted at the critical moment. It refused to squash the commits, the history must be quite confusing.
Edited by Peter W. Drapermentioned in commit 42801392