__unordsf2.c

来自「linux下的gcc编译器」· C语言 代码 · 共 35 行

C
35
字号
/* Lightweight function to test for ieee unordered comparison   Copyright (C) 2002   Free Software Foundation, Inc.   Contributed by Ian Dall <ian@beware.dropbear.id.au>This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU CC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING.  If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA.  */# define ISNAN(x) (						\  {								\    union u { float f; unsigned int i; } *t = (union u *)&(x);	\    ((t->i & 0x7f800000) == 0x7f800000) &&			\    ((t->i & 0x7fffff) != 0);					\  })int __unordsf2 ( float, float);int __unordsf2 ( float a, float b){  return ISNAN(a) || ISNAN(b);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?