Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: sin$fenv_access_off
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sin$fenv_access_off




A little detail on what is going on:

C99 knows whether you are looking the IEEE flags / changing rounding modes or not based on whether or not you've included fenv.h and done #pragma STDC FENV_ACCESS on or not, as required by standard. So in principle, we could actually have two parallel math libraries, one that spends time diligently setting flags and defending against rounding mode changes and a faster one that does not. In practice, this can be just implemented by having a separate set of symbols decorated with $fenv_access_off for all the stuff in the math library.

Currently, there is no compiler support for using these functions. We also haven't taken a time to write the fenv_access_off (non-flags) version for most math library functions. What we do have right now is name space placeholders that alias the regular math library APIs so that when (if) this feature is actually delivered, binaries built against it can back ship to Leopard and still run.

Unfortunately, for reasons I don't entirely understand, when given a choice between resolving a symbol to the true name of the function and an alias that resolves to the same thing, the developer tools pick the latter. So everywhere where you should see a function called "sin" you instead see "sin$fenv_access_off".

So, in other words:  move along, nothing to see here, move along...

Ian
_______________________________________________
Do not post admin requests to the list. They will be ignored.
PerfOptimization-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >sin$fenv_access_off (From: Paul Garmon <email@hidden>)
 >Re: sin$fenv_access_off (From: Stephen Canon <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.