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

📄 x-cvsweb-markup(48)

📁 软件浮点数计算功能
💻
📖 第 1 页 / 共 5 页
字号:
        R += _FP_W_TYPE_SIZE*2;                \    }                                   \    else                                \    {                                   \        __FP_CLZ(R,X##_f[0]);                \        R += _FP_W_TYPE_SIZE*3;                \    }                                   \  } while(0)#define _FP_UNPACK_RAW_4(fs, X, val)                            \  do {                                                          \    union _FP_UNION_##fs _flo; _flo.flt = (val);                \    X##_f[0] = _flo.bits.frac0;                                 \    X##_f[1] = _flo.bits.frac1;                                 \    X##_f[2] = _flo.bits.frac2;                                 \    X##_f[3] = _flo.bits.frac3;                                 \    X##_e  = _flo.bits.exp;                                     \    X##_s  = _flo.bits.sign;                                    \  } while (0)#define _FP_UNPACK_RAW_4_P(fs, X, val)                          \  do {                                                          \    union _FP_UNION_##fs *_flo =                                \      (union _FP_UNION_##fs *)(val);                            \                                                                \    X##_f[0] = _flo->bits.frac0;                                \    X##_f[1] = _flo->bits.frac1;                                \    X##_f[2] = _flo->bits.frac2;                                \    X##_f[3] = _flo->bits.frac3;                                \    X##_e  = _flo->bits.exp;                                    \    X##_s  = _flo->bits.sign;                                   \  } while (0)#define _FP_PACK_RAW_4(fs, val, X)                              \  do {                                                          \    union _FP_UNION_##fs _flo;                                  \    _flo.bits.frac0 = X##_f[0];                                 \    _flo.bits.frac1 = X##_f[1];                                 \    _flo.bits.frac2 = X##_f[2];                                 \    _flo.bits.frac3 = X##_f[3];                                 \    _flo.bits.exp   = X##_e;                                    \    _flo.bits.sign  = X##_s;                                    \    (val) = _flo.flt;                                              \  } while (0)#define _FP_PACK_RAW_4_P(fs, val, X)                            \  do {                                                          \    union _FP_UNION_##fs *_flo =                                \      (union _FP_UNION_##fs *)(val);                            \                                                                \    _flo->bits.frac0 = X##_f[0];                                \    _flo->bits.frac1 = X##_f[1];                                \    _flo->bits.frac2 = X##_f[2];                                \    _flo->bits.frac3 = X##_f[3];                                \    _flo->bits.exp   = X##_e;                                   \    _flo->bits.sign  = X##_s;                                   \  } while (0)/* * Multiplication algorithms: *//* Given a 1W * 1W => 2W primitive, do the extended multiplication.  */#define _FP_MUL_MEAT_4_wide(wfracbits, R, X, Y, doit)                       \  do {                                                                      \    _FP_FRAC_DECL_8(_z); _FP_FRAC_DECL_2(_b); _FP_FRAC_DECL_2(_c);          \    _FP_FRAC_DECL_2(_d); _FP_FRAC_DECL_2(_e); _FP_FRAC_DECL_2(_f);          \                                                                            \    doit(_FP_FRAC_WORD_8(_z,1), _FP_FRAC_WORD_8(_z,0), X##_f[0], Y##_f[0]); \    doit(_b_f1, _b_f0, X##_f[0], Y##_f[1]);                                 \    doit(_c_f1, _c_f0, X##_f[1], Y##_f[0]);                                 \    doit(_d_f1, _d_f0, X##_f[1], Y##_f[1]);                                 \    doit(_e_f1, _e_f0, X##_f[0], Y##_f[2]);                                 \    doit(_f_f1, _f_f0, X##_f[2], Y##_f[0]);                                 \    __FP_FRAC_ADD_3(_FP_FRAC_WORD_8(_z,3),_FP_FRAC_WORD_8(_z,2),            \                    _FP_FRAC_WORD_8(_z,1), 0,_b_f1,_b_f0,                    \                    0,0,_FP_FRAC_WORD_8(_z,1));                                    \    __FP_FRAC_ADD_3(_FP_FRAC_WORD_8(_z,3),_FP_FRAC_WORD_8(_z,2),            \                    _FP_FRAC_WORD_8(_z,1), 0,_c_f1,_c_f0,                    \                    _FP_FRAC_WORD_8(_z,3),_FP_FRAC_WORD_8(_z,2),            \                    _FP_FRAC_WORD_8(_z,1));                                    \    __FP_FRAC_ADD_3(_FP_FRAC_WORD_8(_z,4),_FP_FRAC_WORD_8(_z,3),            \                    _FP_FRAC_WORD_8(_z,2), 0,_d_f1,_d_f0,                    \                    0,_FP_FRAC_WORD_8(_z,3),_FP_FRAC_WORD_8(_z,2));            \    __FP_FRAC_ADD_3(_FP_FRAC_WORD_8(_z,4),_FP_FRAC_WORD_8(_z,3),            \                    _FP_FRAC_WORD_8(_z,2), 0,_e_f1,_e_f0,                    \                    _FP_FRAC_WORD_8(_z,4),_FP_FRAC_WORD_8(_z,3),            \                    _FP_FRAC_WORD_8(_z,2));                                    \    __FP_FRAC_ADD_3(_FP_FRAC_WORD_8(_z,4),_FP_FRAC_WORD_8(_z,3),            \

⌨️ 快捷键说明

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