Mercurial > mxe-octave
view src/build-msvctools/math/trunc.c @ 3966:e1c46df42951
of-netcdf: update to 1.0.7
* src/of-netcdf.mk: update versuion, checksum
* build_packages.m: update netcdf version
* src/of-netcdf-1-cross-fixes.patch: removed file
* dist-files.mk: removed of-netcdf-1-cross-fixes.patch
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Mon, 15 Jun 2015 20:50:52 -0400 |
parents | f8299bb6c872 |
children |
line wrap: on
line source
#include <fenv.h> #include <math.h> double trunc (double _x){ double retval; unsigned short saved_cw; unsigned short tmp_cw; __asm__ ("fnstcw %0;" : "=m" (saved_cw)); /* save FPU control word */ tmp_cw = (saved_cw & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)) | FE_TOWARDZERO; __asm__ ("fldcw %0;" : : "m" (tmp_cw)); __asm__ ("frndint;" : "=t" (retval) : "0" (_x)); /* round towards zero */ __asm__ ("fldcw %0;" : : "m" (saved_cw) ); /* restore saved control word */ return retval; }