s_fpclassify.c

来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 32 行

C
32
字号
/* Copyright (C) 2002, 2007 by  Red Hat, Incorporated. All rights reserved. * * Permission to use, copy, modify, and distribute this software * is freely granted, provided that this notice is preserved. */#include "fdlibm.h"int__fpclassifyd (double x){  __uint32_t msw, lsw;  EXTRACT_WORDS(msw,lsw,x);  if ((msw == 0x00000000 && lsw == 0x00000000) ||      (msw == 0x80000000 && lsw == 0x00000000))    return FP_ZERO;  else if ((msw >= 0x00100000 && msw <= 0x7fefffff) ||           (msw >= 0x80100000 && msw <= 0xffefffff))    return FP_NORMAL;  else if ((msw >= 0x00000000 && msw <= 0x000fffff) ||           (msw >= 0x80000000 && msw <= 0x800fffff))    /* zero is already handled above */    return FP_SUBNORMAL;  else if ((msw == 0x7ff00000 && lsw == 0x00000000) ||           (msw == 0xfff00000 && lsw == 0x00000000))    return FP_INFINITE;  else    return FP_NAN;}

⌨️ 快捷键说明

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