#include <stdio.h>
#include <fenv.h>
#pragma STDC FENV_ACCESS ON
int main(void) {
int i;
for(i=3; i>0; i -= 0.5 )
// store the original rounding mode
const int originalRounding = fegetround( );
// establish the desired rounding mode
fesetround(FE_TOWARDZERO);
// do whatever you need to do ...
for(i=3; i>0; i -= 0.5 )
// ... and restore the original mode afterwards
fesetround(originalRounding);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxmZW52Lmg+CiNwcmFnbWEgU1REQyBGRU5WX0FDQ0VTUyBPTgoKaW50IG1haW4odm9pZCkgewoJaW50IGk7Cglmb3IoaT0zOyBpPjA7IGkgLT0gMC41ICkKCQlwcmludGYoIiVkXG4iLCBpKTsKLy8gc3RvcmUgdGhlIG9yaWdpbmFsIHJvdW5kaW5nIG1vZGUKY29uc3QgaW50IG9yaWdpbmFsUm91bmRpbmcgPSBmZWdldHJvdW5kKCApOwovLyBlc3RhYmxpc2ggdGhlIGRlc2lyZWQgcm91bmRpbmcgbW9kZQpmZXNldHJvdW5kKEZFX1RPV0FSRFpFUk8pOwovLyBkbyB3aGF0ZXZlciB5b3UgbmVlZCB0byBkbyAuLi4KCWZvcihpPTM7IGk+MDsgaSAtPSAwLjUgKQoJCXByaW50ZigiJWRcbiIsIGkpOwoKLy8gLi4uIGFuZCByZXN0b3JlIHRoZSBvcmlnaW5hbCBtb2RlIGFmdGVyd2FyZHMKZmVzZXRyb3VuZChvcmlnaW5hbFJvdW5kaW5nKTsJIAoJcmV0dXJuIDA7Cn0=