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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? softfloat-specialize

?? <Floating Point Unit Core> fpupack.vhd pre_norm_addsub.vhd addsub_28.vhd post_norm_addsub.
??
字號:
/*============================================================================This C source fragment is part of the SoftFloat IEC/IEEE Floating-pointArithmetic Package, Release 2b.Written by John R. Hauser.  This work was made possible in part by theInternational Computer Science Institute, located at Suite 600, 1947 CenterStreet, Berkeley, California 94704.  Funding was partially provided by theNational Science Foundation under grant MIP-9311980.  The original versionof this code was written as part of a project to build a fixed-point vectorprocessor in collaboration with the University of California at Berkeley,overseen by Profs. Nelson Morgan and John Wawrzynek.  More informationis 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 hasbeen made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT TIMESRESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO PERSONSAND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL LOSSES,COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO FURTHERMOREEFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER SCIENCEINSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, COSTS, OROTHER 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 thatthe work is derivative, and (2) the source code includes prominent notice withthese 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_before_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 0x7FFFFFFF/*----------------------------------------------------------------------------| 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 );    return bIsSignalingNaN ? b : aIsSignalingNaN ? a : bIsNaN ? b : a;}/*----------------------------------------------------------------------------| The pattern for a default generated double-precision NaN.*----------------------------------------------------------------------------*/#define float64_default_nan LIT64( 0x7FFFFFFFFFFFFFFF )/*----------------------------------------------------------------------------| 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 ){    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;    aIsNaN = float64_is_nan( a );    aIsSignalingNaN = float64_is_signaling_nan( a );    bIsNaN = float64_is_nan( b );    bIsSignalingNaN = float64_is_signaling_nan( b );    a |= LIT64( 0x0008000000000000 );    b |= LIT64( 0x0008000000000000 );    if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid );    return bIsSignalingNaN ? b : aIsSignalingNaN ? a : bIsNaN ? b : a;}#ifdef FLOATX80/*----------------------------------------------------------------------------| The pattern for a default generated extended double-precision NaN.  The| `high' and `low' values hold the most- and least-significant bits,| respectively.*----------------------------------------------------------------------------*/#define floatx80_default_nan_high 0x7FFF#define floatx80_default_nan_low  LIT64( 0xFFFFFFFFFFFFFFFF )/*----------------------------------------------------------------------------| Returns 1 if the extended double-precision floating-point value `a' is a| NaN; otherwise returns 0.*----------------------------------------------------------------------------*/flag floatx80_is_nan( floatx80 a ){    return ( ( a.high & 0x7FFF ) == 0x7FFF ) && (bits64) ( a.low<<1 );}/*----------------------------------------------------------------------------| Returns 1 if the extended double-precision floating-point value `a' is a| signaling NaN; otherwise returns 0.*----------------------------------------------------------------------------*/flag floatx80_is_signaling_nan( floatx80 a ){    bits64 aLow;    aLow = a.low & ~ LIT64( 0x4000000000000000 );    return           ( ( a.high & 0x7FFF ) == 0x7FFF )        && (bits64) ( aLow<<1 )        && ( a.low == aLow );}/*----------------------------------------------------------------------------| Returns the result of converting the extended double-precision floating-| point NaN `a' to the canonical NaN format.  If `a' is a signaling NaN, the| invalid exception is raised.*----------------------------------------------------------------------------*/static commonNaNT floatx80ToCommonNaN( floatx80 a ){    commonNaNT z;    if ( floatx80_is_signaling_nan( a ) ) float_raise( float_flag_invalid );    z.sign = a.high>>15;    z.low = 0;    z.high = a.low<<1;    return z;}/*----------------------------------------------------------------------------| Returns the result of converting the canonical NaN `a' to the extended| double-precision floating-point format.*----------------------------------------------------------------------------*/static floatx80 commonNaNToFloatx80( commonNaNT a ){    floatx80 z;    z.low = LIT64( 0xC000000000000000 ) | ( a.high>>1 );    z.high = ( ( (bits16) a.sign )<<15 ) | 0x7FFF;    return z;}/*----------------------------------------------------------------------------| Takes two extended 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 floatx80 propagateFloatx80NaN( floatx80 a, floatx80 b ){    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;    aIsNaN = floatx80_is_nan( a );    aIsSignalingNaN = floatx80_is_signaling_nan( a );    bIsNaN = floatx80_is_nan( b );    bIsSignalingNaN = floatx80_is_signaling_nan( b );    a.low |= LIT64( 0xC000000000000000 );    b.low |= LIT64( 0xC000000000000000 );    if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid );    return bIsSignalingNaN ? b : aIsSignalingNaN ? a : bIsNaN ? b : a;}#endif#ifdef FLOAT128/*----------------------------------------------------------------------------| The pattern for a default generated quadruple-precision NaN.  The `high' and| `low' values hold the most- and least-significant bits, respectively.*----------------------------------------------------------------------------*/#define float128_default_nan_high LIT64( 0x7FFFFFFFFFFFFFFF )#define float128_default_nan_low  LIT64( 0xFFFFFFFFFFFFFFFF )/*----------------------------------------------------------------------------| Returns 1 if the quadruple-precision floating-point value `a' is a NaN;| otherwise returns 0.*----------------------------------------------------------------------------*/flag float128_is_nan( float128 a ){    return           ( LIT64( 0xFFFE000000000000 ) <= (bits64) ( a.high<<1 ) )        && ( a.low || ( a.high & LIT64( 0x0000FFFFFFFFFFFF ) ) );}/*----------------------------------------------------------------------------| Returns 1 if the quadruple-precision floating-point value `a' is a| signaling NaN; otherwise returns 0.*----------------------------------------------------------------------------*/flag float128_is_signaling_nan( float128 a ){    return           ( ( ( a.high>>47 ) & 0xFFFF ) == 0xFFFE )        && ( a.low || ( a.high & LIT64( 0x00007FFFFFFFFFFF ) ) );}/*----------------------------------------------------------------------------| Returns the result of converting the quadruple-precision floating-point NaN| `a' to the canonical NaN format.  If `a' is a signaling NaN, the invalid| exception is raised.*----------------------------------------------------------------------------*/static commonNaNT float128ToCommonNaN( float128 a ){    commonNaNT z;    if ( float128_is_signaling_nan( a ) ) float_raise( float_flag_invalid );    z.sign = a.high>>63;    shortShift128Left( a.high, a.low, 16, &z.high, &z.low );    return z;}/*----------------------------------------------------------------------------| Returns the result of converting the canonical NaN `a' to the quadruple-| precision floating-point format.*----------------------------------------------------------------------------*/static float128 commonNaNToFloat128( commonNaNT a ){    float128 z;    shift128Right( a.high, a.low, 16, &z.high, &z.low );    z.high |= ( ( (bits64) a.sign )<<63 ) | LIT64( 0x7FFF800000000000 );    return z;}/*----------------------------------------------------------------------------| Takes two quadruple-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 float128 propagateFloat128NaN( float128 a, float128 b ){    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;    aIsNaN = float128_is_nan( a );    aIsSignalingNaN = float128_is_signaling_nan( a );    bIsNaN = float128_is_nan( b );    bIsSignalingNaN = float128_is_signaling_nan( b );    a.high |= LIT64( 0x0000800000000000 );    b.high |= LIT64( 0x0000800000000000 );    if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid );    return bIsSignalingNaN ? b : aIsSignalingNaN ? a : bIsNaN ? b : a;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女优制服丝袜电影| 国产欧美一区二区三区网站| 粉嫩av亚洲一区二区图片| 亚洲一区视频在线| 欧美极品另类videosde| 91精品国产综合久久久久久久| av亚洲精华国产精华精华| 久久99九九99精品| 亚洲成a人片在线不卡一二三区| 国产精品天天看| 亚洲精品在线网站| 91 com成人网| 在线精品视频小说1| 成人精品在线视频观看| 国产在线视视频有精品| 天堂成人免费av电影一区| 亚洲免费av在线| 18涩涩午夜精品.www| 国产嫩草影院久久久久| 日韩一区二区三区观看| 在线播放中文字幕一区| 91高清视频免费看| 色综合亚洲欧洲| 不卡的av中国片| 成人午夜视频免费看| 黄色成人免费在线| 久久爱另类一区二区小说| 日韩av一区二| 青青草精品视频| 秋霞影院一区二区| 日本不卡123| 蜜桃传媒麻豆第一区在线观看| 丝袜亚洲另类欧美| 日韩精品成人一区二区三区| 亚洲国产一区二区在线播放| 亚洲一区二区在线观看视频| 亚洲乱码中文字幕| 一区二区三区在线视频观看| 亚洲三级在线免费观看| 亚洲欧美日韩国产另类专区| 一色屋精品亚洲香蕉网站| 亚洲天堂免费在线观看视频| 亚洲欧美国产三级| 一区二区成人在线视频| 亚洲妇熟xx妇色黄| 日韩国产一二三区| 久久97超碰色| 国产黄色精品视频| 成人一区在线看| www.色综合.com| 色老头久久综合| 欧美日韩国产综合一区二区三区| 67194成人在线观看| 欧美一级爆毛片| 久久夜色精品国产噜噜av| 欧美激情一区二区三区全黄| 综合久久久久久| 亚洲国产人成综合网站| 免费av成人在线| 福利电影一区二区| 91捆绑美女网站| 欧美一区二区三区影视| 久久久久久免费网| 亚洲精品美腿丝袜| 日韩国产在线一| 国产成人av电影在线| 色综合久久久久综合体桃花网| 欧美体内she精高潮| 日韩一级黄色片| 日本一区二区三区dvd视频在线| 国产精品夫妻自拍| 日韩电影在线看| 国产成人精品免费在线| 一本色道久久综合亚洲91| 欧美一区二区三区四区五区| 久久精品水蜜桃av综合天堂| 亚洲精品一二三| 另类欧美日韩国产在线| www.欧美日韩国产在线| 欧美日本在线视频| 中文字幕精品一区二区精品绿巨人| 亚洲男人电影天堂| 老司机精品视频导航| 91色在线porny| 精品国产不卡一区二区三区| 亚洲免费av在线| 国产剧情一区二区三区| 欧美三级在线视频| 国产精品久久影院| 麻豆国产一区二区| 在线免费观看一区| 欧美激情一区三区| 美女视频黄a大片欧美| 色综合久久天天| 久久久国产午夜精品| 午夜精品一区二区三区电影天堂 | 精品一区二区久久久| 97se亚洲国产综合在线| 精品国产免费人成在线观看| 亚洲图片有声小说| 99国内精品久久| 久久久精品国产免大香伊| 丝袜国产日韩另类美女| 色哟哟亚洲精品| 国产精品视频在线看| 久久99精品久久久久久久久久久久| 91欧美激情一区二区三区成人| 久久婷婷国产综合国色天香 | 波多野洁衣一区| 日韩免费高清av| 亚洲成在线观看| 色综合久久久久网| 国产精品国产成人国产三级| 国产一区二区三区久久久| 日韩欧美中文字幕一区| 亚洲国产精品久久不卡毛片 | 91精品在线免费观看| 亚洲柠檬福利资源导航| 99国产精品久久久久久久久久久| 精品免费国产一区二区三区四区| 亚洲电影一区二区三区| 色老综合老女人久久久| 亚洲美女淫视频| 色综合网色综合| 亚洲男同1069视频| 色婷婷国产精品综合在线观看| 自拍偷拍亚洲欧美日韩| 99久久国产综合色|国产精品| 国产三级欧美三级日产三级99| 精品一区二区三区日韩| 日韩免费在线观看| 韩国成人精品a∨在线观看| 精品久久久网站| 激情五月激情综合网| 欧美mv日韩mv国产网站app| 久久电影网站中文字幕| 精品日韩成人av| 国产精品白丝av| 国产精品免费免费| www.成人在线| 一区二区三区国产精华| 欧美美女视频在线观看| 日韩1区2区3区| 精品国产乱码久久| 国产成人三级在线观看| 国产精品伦理一区二区| 99热精品国产| 亚洲国产一区视频| 日韩视频一区二区在线观看| 国模冰冰炮一区二区| 国产精品剧情在线亚洲| 在线观看亚洲精品| 日本在线不卡视频一二三区| 精品久久久久久亚洲综合网| 丁香天五香天堂综合| 亚洲精选在线视频| 欧美久久久久久蜜桃| 国内精品久久久久影院色| 中文字幕 久热精品 视频在线 | 狠狠狠色丁香婷婷综合激情| 国产三级欧美三级日产三级99 | 欧美视频精品在线| 蜜臀91精品一区二区三区| 国产日韩欧美精品电影三级在线| 99久久国产综合精品女不卡| 天天影视色香欲综合网老头| 精品国精品国产| 不卡欧美aaaaa| 香蕉影视欧美成人| 26uuu国产一区二区三区| 一本一道综合狠狠老| 日本成人在线不卡视频| 中文字幕成人网| 欧美美女一区二区在线观看| 国产成人aaa| 五月天激情小说综合| 国产精品日日摸夜夜摸av| 欧美日韩国产一级片| 成人精品一区二区三区四区| 五月开心婷婷久久| 国产精品婷婷午夜在线观看| 91麻豆精品91久久久久久清纯| 成人免费观看av| 蜜桃av噜噜一区| 一区二区三区欧美| 久久网站热最新地址| 欧美日本在线播放| av中文一区二区三区| 久久99精品国产| 亚洲一级二级三级在线免费观看| 久久久噜噜噜久久中文字幕色伊伊| 欧美中文字幕不卡| 国产jizzjizz一区二区| 日韩在线一区二区| 亚洲欧美视频一区| 国产性天天综合网| 日韩一级在线观看| 在线观看日产精品| 99r精品视频| 国产不卡在线播放|