⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 copysign.c

📁 早期freebsd实现
💻 C
字号:
#include <ansidecl.h>#ifdef __IEEE_BIG_ENDIANtypedef union {  double value;  struct   {    unsigned int sign : 1;    unsigned int exponent: 11;    unsigned int fraction0:4;    unsigned int fraction1:16;    unsigned int fraction2:16;    unsigned int fraction3:16;      } number;  struct   {    unsigned int sign : 1;    unsigned int exponent: 11;    unsigned int quiet:1;    unsigned int function0:3;    unsigned int function1:16;    unsigned int function2:16;    unsigned int function3:16;  } nan;  struct   {    unsigned long msw;    unsigned long lsw;  } parts;    long aslong[2];} __ieee_double_shape_type;#endif#ifdef __IEEE_LITTLE_ENDIANtypedef union {  double value;  struct   {#ifdef __SMALL_BITFIELDS    unsigned int fraction3:16;    unsigned int fraction2:16;    unsigned int fraction1:16;    unsigned int fraction0: 4;#else    unsigned int fraction1:32;    unsigned int fraction0:20;#endif    unsigned int exponent :11;    unsigned int sign     : 1;  } number;  struct   {#ifdef __SMALL_BITFIELDS    unsigned int function3:16;    unsigned int function2:16;    unsigned int function1:16;    unsigned int function0:3;#else    unsigned int function1:32;    unsigned int function0:19;#endif    unsigned int quiet:1;    unsigned int exponent: 11;    unsigned int sign : 1;  } nan;  struct   {    unsigned long lsw;    unsigned long msw;  } parts;  long aslong[2];} __ieee_double_shape_type;#endif#ifdef __IEEE_BIG_ENDIANtypedef union{  float value;  struct   {    unsigned int sign : 1;    unsigned int exponent: 8;    unsigned int fraction0: 7;    unsigned int fraction1: 16;  } number;  struct   {    unsigned int sign:1;    unsigned int exponent:8;    unsigned int quiet:1;    unsigned int function0:6;    unsigned int function1:16;  } nan;  long p1;  } __ieee_float_shape_type;#endif#ifdef __IEEE_LITTLE_ENDIANtypedef union{  float value;  struct   {    unsigned int fraction0: 7;    unsigned int fraction1: 16;    unsigned int exponent: 8;    unsigned int sign : 1;  } number;  struct   {    unsigned int function1:16;    unsigned int function0:6;    unsigned int quiet:1;    unsigned int exponent:8;    unsigned int sign:1;  } nan;  long p1;  } __ieee_float_shape_type;#endifdouble DEFUN(copysign, (x, y), double x AND double y){  __ieee_double_shape_type a,b;  b.value = y;    a.value = x;  a.number.sign =b.number.sign;  return a.value;}

⌨️ 快捷键说明

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