POK
/home/jaouen/pok_official/pok/trunk/libpok/libm/isinf.c
00001 /*
00002  *                               POK header
00003  * 
00004  * The following file is a part of the POK project. Any modification should
00005  * made according to the POK licence. You CANNOT use this file or a part of
00006  * this file is this part of a file for your own project
00007  *
00008  * For more information on the POK licence, please see our LICENCE FILE
00009  *
00010  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
00011  *
00012  *                                      Copyright (c) 2007-2009 POK team 
00013  *
00014  * Created by julien on Fri Jan 30 14:41:34 2009 
00015  */
00016 
00017 /*
00018  * Written by J.T. Conklin <jtc@NetBSD.org>.
00019  * Public domain.
00020  */
00021 
00022 #ifdef POK_NEEDS_LIBMATH
00023 
00024 /*
00025  * isinf(x) returns 1 is x is inf, else 0;
00026  * no branching!
00027  */
00028 
00029 #include <libm.h>
00030 #include "math_private.h"
00031 
00032 int
00033 isinf(double x)
00034 {
00035         int32_t hx,lx;
00036         EXTRACT_WORDS(hx,lx,x);
00037         hx &= 0x7fffffff;
00038         hx ^= 0x7ff00000;
00039         hx |= lx;
00040         return (hx == 0);
00041 }
00042 
00043 #endif
00044