Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. COOkay, not that i would understand that construct at the moment, but it is working. But it is C99, isn't it. Maybe i should mention that i tried to get a C90 version. I replaced these uint64_t and uint32_t types with unsigned long long int and unsigned int. That is surely not that portable, but working for me. Thanks for your answer.
      singulars
    2. COOne more thing: the code posted by me is the original one from fdlibm from the netlib software repository. Maybe you are right with the violation of aliasing rules. The question which arises is then: why don't they (the developers) care about that too? This library has been developed for many years, also a few years after the standard and it is used a lot (example: base for the java math functions). Maybe they had good reasons to do it like they did it. But i'm not able to differentiate and evaluate these implementation methods. For what it's worth :-).
      singulars
    3. COPrior to C99, *all* casts to the wrong pointer types and union tricks were undefined behavior, which was so extreme that everyone just ignored the standard and pretended it was well-defined, and compilers didn't complain. Then compilers started to get smarter and realized that good optimization depends on ruling out the possibility of pointers aliasing one another, so C99 specified this all carefully, and compilers started to take advantage of the cases that were left undefined for optimization. Some people with old broken code are too lazy or stubborn to fix it...
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload