comparison src/build-msvctools/math/fpclassify.c @ 3061:f8299bb6c872

Initial support for native MSVC compilation. * add MSVC support files: compiler wrappers and support libraries * adapt libiconv to work with MSVC * adapt gettext to work with MSVC
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 17 Jun 2013 22:43:11 -0400
parents
children
comparison
equal deleted inserted replaced
3060:cbdf4575016d 3061:f8299bb6c872
1 #include <math.h>
2
3 /* 'fxam' sets FPU flags C3,C2,C0 'fstsw' stores:
4 FP_NAN 001 0x0100
5 FP_NORMAL 010 0x0400
6 FP_INFINITE 011 0x0500
7 FP_ZERO 100 0x4000
8 FP_SUBNORMAL 110 0x4400
9
10 and sets C1 flag (signbit) if neg */
11
12 int __fpclassify (double _x){
13 unsigned short sw;
14 __asm__ (
15 "fxam; fstsw %%ax;"
16 : "=a" (sw)
17 : "t" (_x)
18 );
19 return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
20 }