亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? softfloat-specialize

?? <Floating Point Unit Core> fpupack.vhd pre_norm_addsub.vhd addsub_28.vhd post_norm_addsub.
??
?? 第 1 頁 / 共 2 頁
字號:

/*============================================================================

This C source fragment is part of the SoftFloat IEC/IEEE Floating-point
Arithmetic Package, Release 2b.

Written by John R. Hauser.  This work was made possible in part by the
International Computer Science Institute, located at Suite 600, 1947 Center
Street, Berkeley, California 94704.  Funding was partially provided by the
National Science Foundation under grant MIP-9311980.  The original version
of this code was written as part of a project to build a fixed-point vector
processor in collaboration with the University of California at Berkeley,
overseen by Profs. Nelson Morgan and John Wawrzynek.  More information
is available through the Web page `http://www.cs.berkeley.edu/~jhauser/
arithmetic/SoftFloat.html'.

THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable effort has
been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMES
RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO PERSONS
AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES,
COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMORE
EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCE
INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OR
OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE SOFTWARE.

Derivative works are acceptable, even for commercial purposes, so long as
(1) the source code for the derivative work includes prominent notice that
the work is derivative, and (2) the source code includes prominent notice with
these four paragraphs for those parts of this code that are retained.

=============================================================================*/

/*----------------------------------------------------------------------------
| Underflow tininess-detection mode, statically initialized to default value.
| (The declaration in `softfloat.h' must match the `int8' type here.)
*----------------------------------------------------------------------------*/
int8 float_detect_tininess = float_tininess_after_rounding;

/*----------------------------------------------------------------------------
| Raises the exceptions specified by `flags'.  Floating-point traps can be
| defined here if desired.  It is currently not possible for such a trap to
| substitute a result value.  If traps are not implemented, this routine
| should be simply `float_exception_flags |= flags;'.
*----------------------------------------------------------------------------*/

void float_raise( int8 flags )
{

    float_exception_flags |= flags;

}

/*----------------------------------------------------------------------------
| Internal canonical NaN format.
*----------------------------------------------------------------------------*/
typedef struct {
    flag sign;
    bits64 high, low;
} commonNaNT;

/*----------------------------------------------------------------------------
| The pattern for a default generated single-precision NaN.
*----------------------------------------------------------------------------*/
#define float32_default_nan 0xFFFFFFFF

/*----------------------------------------------------------------------------
| Returns 1 if the single-precision floating-point value `a' is a NaN;
| otherwise returns 0.
*----------------------------------------------------------------------------*/

flag float32_is_nan( float32 a )
{

    return ( 0xFF000000 < (bits32) ( a<<1 ) );

}

/*----------------------------------------------------------------------------
| Returns 1 if the single-precision floating-point value `a' is a signaling
| NaN; otherwise returns 0.
*----------------------------------------------------------------------------*/

flag float32_is_signaling_nan( float32 a )
{

    return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );

}

/*----------------------------------------------------------------------------
| Returns the result of converting the single-precision floating-point NaN
| `a' to the canonical NaN format.  If `a' is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/

static commonNaNT float32ToCommonNaN( float32 a )
{
    commonNaNT z;

    if ( float32_is_signaling_nan( a ) ) float_raise( float_flag_invalid );
    z.sign = a>>31;
    z.low = 0;
    z.high = ( (bits64) a )<<41;
    return z;

}

/*----------------------------------------------------------------------------
| Returns the result of converting the canonical NaN `a' to the single-
| precision floating-point format.
*----------------------------------------------------------------------------*/

static float32 commonNaNToFloat32( commonNaNT a )
{

    return ( ( (bits32) a.sign )<<31 ) | 0x7FC00000 | ( a.high>>41 );

}

/*----------------------------------------------------------------------------
| Takes two single-precision floating-point values `a' and `b', one of which
| is a NaN, and returns the appropriate NaN result.  If either `a' or `b' is a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/

static float32 propagateFloat32NaN( float32 a, float32 b )
{
    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;

    aIsNaN = float32_is_nan( a );
    aIsSignalingNaN = float32_is_signaling_nan( a );
    bIsNaN = float32_is_nan( b );
    bIsSignalingNaN = float32_is_signaling_nan( b );
    a |= 0x00400000;
    b |= 0x00400000;
    if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid );
    if ( aIsNaN ) {
        return ( aIsSignalingNaN & bIsNaN ) ? b : a;
    }
    else {
        return b;
    }

}

/*----------------------------------------------------------------------------
| The pattern for a default generated double-precision NaN.
*----------------------------------------------------------------------------*/
#define float64_default_nan LIT64( 0xFFFFFFFFFFFFFFFF )

/*----------------------------------------------------------------------------
| Returns 1 if the double-precision floating-point value `a' is a NaN;
| otherwise returns 0.
*----------------------------------------------------------------------------*/

flag float64_is_nan( float64 a )
{

    return ( LIT64( 0xFFE0000000000000 ) < (bits64) ( a<<1 ) );

}

/*----------------------------------------------------------------------------
| Returns 1 if the double-precision floating-point value `a' is a signaling
| NaN; otherwise returns 0.
*----------------------------------------------------------------------------*/

flag float64_is_signaling_nan( float64 a )
{

    return
           ( ( ( a>>51 ) & 0xFFF ) == 0xFFE )
        && ( a & LIT64( 0x0007FFFFFFFFFFFF ) );

}

/*----------------------------------------------------------------------------
| Returns the result of converting the double-precision floating-point NaN
| `a' to the canonical NaN format.  If `a' is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/

static commonNaNT float64ToCommonNaN( float64 a )
{
    commonNaNT z;

    if ( float64_is_signaling_nan( a ) ) float_raise( float_flag_invalid );
    z.sign = a>>63;
    z.low = 0;
    z.high = a<<12;
    return z;

}

/*----------------------------------------------------------------------------
| Returns the result of converting the canonical NaN `a' to the double-
| precision floating-point format.
*----------------------------------------------------------------------------*/

static float64 commonNaNToFloat64( commonNaNT a )
{

    return
          ( ( (bits64) a.sign )<<63 )
        | LIT64( 0x7FF8000000000000 )
        | ( a.high>>12 );

}

/*----------------------------------------------------------------------------
| Takes two double-precision floating-point values `a' and `b', one of which
| is a NaN, and returns the appropriate NaN result.  If either `a' or `b' is a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/

static float64 propagateFloat64NaN( float64 a, float64 b )
{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一级女性全黄久久生活片免费| 亚洲精品视频观看| 欧美成人一区二区三区| 欧美精品v日韩精品v韩国精品v| 欧美色区777第一页| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美日精品一区视频| 精品视频1区2区| 欧美一区二区播放| 7777精品伊人久久久大香线蕉的| 欧美日韩高清在线播放| 日韩欧美国产一区二区三区| 精品国产免费一区二区三区四区| 久久免费国产精品| 国产精品久久久久久久久搜平片| 一区二区三区欧美日| 日韩成人伦理电影在线观看| 精品在线播放免费| 99久久综合99久久综合网站| 欧美主播一区二区三区| 欧美大片在线观看一区| 中文av一区特黄| 五月综合激情日本mⅴ| 国内外成人在线| av电影天堂一区二区在线观看| 在线观看不卡视频| wwww国产精品欧美| 一区二区三区美女视频| 美女一区二区三区在线观看| 国产盗摄女厕一区二区三区| 日本福利一区二区| 日韩欧美国产三级电影视频| 国产精品欧美经典| 奇米精品一区二区三区四区| 成人深夜视频在线观看| 欧美日韩一区在线| 中文字幕av不卡| 奇米精品一区二区三区在线观看一| 国产成人综合亚洲网站| 欧美人狂配大交3d怪物一区| 中文字幕精品一区二区精品绿巨人| 午夜精品成人在线| www.亚洲免费av| 欧美xingq一区二区| 亚洲午夜在线观看视频在线| 国产寡妇亲子伦一区二区| 欧美人与性动xxxx| 中文字幕在线不卡一区二区三区| 秋霞午夜av一区二区三区| 色综合天天综合| 国产三级精品视频| 久久99蜜桃精品| 欧美人牲a欧美精品| 一区二区三区视频在线看| 成人午夜av在线| 久久这里只有精品6| 日本不卡123| 7777精品伊人久久久大香线蕉最新版| 国产精品国产三级国产aⅴ入口| 免费在线观看一区二区三区| 欧美日韩一区在线| 亚洲伊人色欲综合网| 不卡一区二区中文字幕| 欧美国产一区在线| 国产激情精品久久久第一区二区 | 日韩一区二区三区av| 樱桃国产成人精品视频| 91在线视频免费观看| 国产亚洲欧美日韩日本| 国产精品自在在线| 久久久www成人免费无遮挡大片| 理论电影国产精品| 日韩欧美aaaaaa| 国内一区二区视频| 亚洲欧洲国产日本综合| 99久久精品免费看国产免费软件| 国产精品久久久久影院老司| www.色精品| 自拍偷拍亚洲综合| 欧美性猛片aaaaaaa做受| 依依成人精品视频| 欧美日本国产一区| 极品少妇xxxx精品少妇偷拍| 精品久久久久99| 国产成人超碰人人澡人人澡| 国产精品网友自拍| 91成人在线免费观看| 亚洲第一会所有码转帖| 欧美大尺度电影在线| 国产九九视频一区二区三区| 国产精品热久久久久夜色精品三区| www.日本不卡| 亚洲电影你懂得| 精品国产人成亚洲区| 成人国产一区二区三区精品| 一区二区三区中文在线观看| 欧美日韩国产成人在线免费| 欧美aaa在线| 国产天堂亚洲国产碰碰| 91麻豆123| 经典三级在线一区| 中文字幕一区日韩精品欧美| 欧美视频完全免费看| 狠狠色综合日日| 亚洲品质自拍视频网站| 日韩欧美不卡一区| 色综合久久久久综合体桃花网| 亚洲国产视频直播| 久久精品网站免费观看| 91论坛在线播放| 久久99精品国产麻豆婷婷洗澡| 中文字幕中文乱码欧美一区二区| 精品视频一区 二区 三区| 国产一区二区三区免费在线观看| 一区二区三区加勒比av| 久久综合国产精品| 欧美午夜在线一二页| 国产精品一区二区在线看| 亚洲国产精品久久久男人的天堂 | 中文字幕一区av| 日韩视频国产视频| 色成年激情久久综合| 精品一区二区三区免费毛片爱| 亚洲精品国产品国语在线app| 精品免费视频.| 欧美电影影音先锋| 日本韩国欧美一区二区三区| 成人三级在线视频| 老司机午夜精品99久久| 婷婷激情综合网| 一区二区在线观看不卡| 国产拍欧美日韩视频二区| 欧美大白屁股肥臀xxxxxx| 欧洲精品视频在线观看| 99re66热这里只有精品3直播 | 国产精品麻豆久久久| 欧美变态tickle挠乳网站| 911国产精品| 欧美亚洲动漫精品| 欧洲色大大久久| 欧洲精品一区二区| 色综合久久九月婷婷色综合| 成人av在线播放网址| 成人一区在线看| 国产69精品久久99不卡| 国产乱人伦偷精品视频不卡 | 欧美一区二区大片| 欧美日本在线播放| 欧美日韩国产欧美日美国产精品| 日本高清无吗v一区| 在线亚洲+欧美+日本专区| 色婷婷综合久久久| 色噜噜偷拍精品综合在线| 91小视频在线| 91在线无精精品入口| 91在线视频播放| 91麻豆.com| 欧美日韩视频不卡| 欧美一区二区视频网站| 欧美福利视频导航| 欧美刺激午夜性久久久久久久| 精品噜噜噜噜久久久久久久久试看| 日韩三级高清在线| 久久免费美女视频| 国产精品免费网站在线观看| 亚洲男人的天堂av| 亚洲成人福利片| 国产一区在线观看麻豆| 成人在线综合网| 在线观看中文字幕不卡| 欧美丰满美乳xxx高潮www| 精品少妇一区二区三区免费观看| 久久久久久久久久久电影| 国产精品色呦呦| 亚洲一区av在线| 久久97超碰色| 色综合久久中文综合久久97| 欧美日本视频在线| 国产欧美一区二区精品性色超碰| 国产精品福利一区二区| 天使萌一区二区三区免费观看| 六月婷婷色综合| 一本大道久久a久久精品综合| 欧美高清视频一二三区| 国产欧美va欧美不卡在线| 亚洲综合精品久久| 国产高清亚洲一区| 欧美日韩精品专区| 国产精品天美传媒沈樵| 日韩国产欧美在线视频| 成人福利视频在线| 日韩午夜av电影| 亚洲人成人一区二区在线观看| 美国三级日本三级久久99 | 天堂成人国产精品一区| 成人av集中营| 26uuu国产电影一区二区| 亚洲伊人色欲综合网| www.在线欧美| 国产亚洲va综合人人澡精品|