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

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

?? softfloat-specialize.h

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*============================================================================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.=============================================================================*/#if defined(TARGET_MIPS) || defined(TARGET_HPPA)#define SNAN_BIT_IS_ONE		1#else#define SNAN_BIT_IS_ONE		0#endif/*----------------------------------------------------------------------------| 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 STATUS_PARAM ){    STATUS(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.*----------------------------------------------------------------------------*/#if defined(TARGET_SPARC)#define float32_default_nan make_float32(0x7FFFFFFF)#elif defined(TARGET_POWERPC)#define float32_default_nan make_float32(0x7FC00000)#elif defined(TARGET_HPPA)#define float32_default_nan make_float32(0x7FA00000)#elif SNAN_BIT_IS_ONE#define float32_default_nan make_float32(0x7FBFFFFF)#else#define float32_default_nan make_float32(0xFFC00000)#endif/*----------------------------------------------------------------------------| Returns 1 if the single-precision floating-point value `a' is a quiet| NaN; otherwise returns 0.*----------------------------------------------------------------------------*/int float32_is_nan( float32 a_ ){    uint32_t a = float32_val(a_);#if SNAN_BIT_IS_ONE    return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );#else    return ( 0xFF800000 <= (bits32) ( a<<1 ) );#endif}/*----------------------------------------------------------------------------| Returns 1 if the single-precision floating-point value `a' is a signaling| NaN; otherwise returns 0.*----------------------------------------------------------------------------*/int float32_is_signaling_nan( float32 a_ ){    uint32_t a = float32_val(a_);#if SNAN_BIT_IS_ONE    return ( 0xFF800000 <= (bits32) ( a<<1 ) );#else    return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );#endif}/*----------------------------------------------------------------------------| 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 STATUS_PARAM ){    commonNaNT z;    if ( float32_is_signaling_nan( a ) ) float_raise( float_flag_invalid STATUS_VAR );    z.sign = float32_val(a)>>31;    z.low = 0;    z.high = ( (bits64) float32_val(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 ){    bits32 mantissa = a.high>>41;    if ( mantissa )        return make_float32(            ( ( (bits32) a.sign )<<31 ) | 0x7F800000 | ( a.high>>41 ) );    else        return float32_default_nan;}/*----------------------------------------------------------------------------| 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 STATUS_PARAM){    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;    bits32 av, bv, res;    aIsNaN = float32_is_nan( a );    aIsSignalingNaN = float32_is_signaling_nan( a );    bIsNaN = float32_is_nan( b );    bIsSignalingNaN = float32_is_signaling_nan( b );    av = float32_val(a);    bv = float32_val(b);#if SNAN_BIT_IS_ONE    av &= ~0x00400000;    bv &= ~0x00400000;#else    av |= 0x00400000;    bv |= 0x00400000;#endif    if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid STATUS_VAR);    if ( aIsSignalingNaN ) {        if ( bIsSignalingNaN ) goto returnLargerSignificand;        res = bIsNaN ? bv : av;    }    else if ( aIsNaN ) {        if ( bIsSignalingNaN | ! bIsNaN )            res = av;        else { returnLargerSignificand:            if ( (bits32) ( av<<1 ) < (bits32) ( bv<<1 ) )                res = bv;            else if ( (bits32) ( bv<<1 ) < (bits32) ( av<<1 ) )                res = av;            else                res = ( av < bv ) ? av : bv;        }    }    else {        res = bv;    }    return make_float32(res);}/*----------------------------------------------------------------------------| The pattern for a default generated double-precision NaN.*----------------------------------------------------------------------------*/#if defined(TARGET_SPARC)#define float64_default_nan make_float64(LIT64( 0x7FFFFFFFFFFFFFFF ))#elif defined(TARGET_POWERPC)#define float64_default_nan make_float64(LIT64( 0x7FF8000000000000 ))#elif defined(TARGET_HPPA)#define float64_default_nan make_float64(LIT64( 0x7FF4000000000000 ))#elif SNAN_BIT_IS_ONE#define float64_default_nan make_float64(LIT64( 0x7FF7FFFFFFFFFFFF ))#else#define float64_default_nan make_float64(LIT64( 0xFFF8000000000000 ))#endif/*----------------------------------------------------------------------------| Returns 1 if the double-precision floating-point value `a' is a quiet| NaN; otherwise returns 0.*----------------------------------------------------------------------------*/int float64_is_nan( float64 a_ ){    bits64 a = float64_val(a_);#if SNAN_BIT_IS_ONE    return           ( ( ( a>>51 ) & 0xFFF ) == 0xFFE )        && ( a & LIT64( 0x0007FFFFFFFFFFFF ) );#else    return ( LIT64( 0xFFF0000000000000 ) <= (bits64) ( a<<1 ) );#endif}/*----------------------------------------------------------------------------| Returns 1 if the double-precision floating-point value `a' is a signaling| NaN; otherwise returns 0.*----------------------------------------------------------------------------*/int float64_is_signaling_nan( float64 a_ ){    bits64 a = float64_val(a_);#if SNAN_BIT_IS_ONE    return ( LIT64( 0xFFF0000000000000 ) <= (bits64) ( a<<1 ) );#else    return           ( ( ( a>>51 ) & 0xFFF ) == 0xFFE )        && ( a & LIT64( 0x0007FFFFFFFFFFFF ) );#endif}/*----------------------------------------------------------------------------| 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 STATUS_PARAM){    commonNaNT z;    if ( float64_is_signaling_nan( a ) ) float_raise( float_flag_invalid STATUS_VAR);    z.sign = float64_val(a)>>63;    z.low = 0;    z.high = float64_val(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 ){    bits64 mantissa = a.high>>12;    if ( mantissa )        return make_float64(              ( ( (bits64) a.sign )<<63 )            | LIT64( 0x7FF0000000000000 )            | ( a.high>>12 ));    else        return float64_default_nan;}/*----------------------------------------------------------------------------| 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 STATUS_PARAM){    flag aIsNaN, aIsSignalingNaN, bIsNaN, bIsSignalingNaN;    bits64 av, bv, res;    aIsNaN = float64_is_nan( a );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色综合网站| 久久66热re国产| 91在线免费视频观看| 成人免费一区二区三区在线观看| 粉嫩av一区二区三区在线播放 | 亚洲成av人影院| 在线免费观看不卡av| 亚洲午夜一区二区三区| 欧美美女喷水视频| 韩日av一区二区| 国产欧美一区二区精品性色| 成人深夜福利app| 一个色综合av| 日韩欧美不卡在线观看视频| 国产真实乱子伦精品视频| 国产清纯在线一区二区www| 成人ar影院免费观看视频| 亚洲一级在线观看| 精品对白一区国产伦| 成人免费毛片高清视频| 亚洲国产日韩一级| 久久综合资源网| www.日韩精品| 午夜一区二区三区在线观看| 精品国产乱码久久久久久久| 9l国产精品久久久久麻豆| 亚洲va天堂va国产va久| 精品国产乱码久久久久久蜜臀| 99国产精品久久久久| 日韩电影免费在线| 国产精品入口麻豆原神| 欧美视频一二三区| 国产伦精品一区二区三区在线观看| 亚洲人成7777| 欧美精品一区二区三区蜜桃| 91在线观看美女| 麻豆精品国产91久久久久久| 亚洲美女在线国产| 久久精品亚洲乱码伦伦中文| 欧美日韩在线免费视频| 国产91丝袜在线观看| 日本欧美一区二区三区乱码| 亚洲视频一区在线| 久久久久免费观看| 777精品伊人久久久久大香线蕉| 丰满少妇在线播放bd日韩电影| 欧美aaaaaa午夜精品| 一区二区三区加勒比av| 日本一区二区三区电影| 日韩一区二区电影在线| 欧美在线综合视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 久久网站热最新地址| 欧美性xxxxx极品少妇| 国产99精品国产| 蓝色福利精品导航| 亚洲国产美女搞黄色| 亚洲精品网站在线观看| 欧美—级在线免费片| 日韩欧美精品三级| 欧美肥妇毛茸茸| 在线观看精品一区| 91免费在线看| 91麻豆精品视频| 国产不卡在线播放| 国产一区二区不卡在线| 久久国产精品99久久人人澡| 日韩电影免费一区| 日本aⅴ亚洲精品中文乱码| 亚洲国产精品综合小说图片区| 亚洲视频一区在线观看| **网站欧美大片在线观看| 国产精品久久看| 亚洲国产精品二十页| 国产三级精品三级在线专区| 久久天天做天天爱综合色| 久久综合久久鬼色中文字| 欧美精品一区二区不卡| 精品国产欧美一区二区| 精品国产91久久久久久久妲己 | 精品美女在线播放| 精品美女一区二区三区| 26uuu色噜噜精品一区| 久久综合色8888| 国产精品网站一区| 一区二区中文字幕在线| 亚洲欧美在线视频| 国产成人在线观看| 国产精品中文字幕日韩精品| 国产精品一区免费视频| 成人中文字幕在线| 色一区在线观看| 欧美日免费三级在线| 欧美一区二区三区四区在线观看| 91精品国产综合久久精品性色| 欧美一区二区三区公司| 26uuu色噜噜精品一区二区| 中文字幕乱码一区二区免费| 国产精品国产成人国产三级 | 26uuu欧美| 国产精品污网站| 亚洲一区二区三区不卡国产欧美| 亚洲电影中文字幕在线观看| 日本aⅴ精品一区二区三区 | 成人小视频免费在线观看| 成人av在线一区二区三区| 在线一区二区三区四区五区| 91精品国产麻豆| 国产丝袜美腿一区二区三区| 亚洲欧美福利一区二区| 秋霞电影一区二区| 成人激情黄色小说| 欧美日韩一区久久| 久久女同互慰一区二区三区| 亚洲女同女同女同女同女同69| 亚洲成人手机在线| 国产精品亚洲一区二区三区妖精| 91玉足脚交白嫩脚丫在线播放| 欧美女孩性生活视频| 国产亚洲人成网站| 亚洲成人综合在线| 国内精品国产成人国产三级粉色| 97se狠狠狠综合亚洲狠狠| 91精品久久久久久久99蜜桃| 国产嫩草影院久久久久| 日韩国产欧美在线播放| 不卡的av电影| 日韩欧美国产小视频| 亚洲欧洲日韩av| 久久99国内精品| 欧美三级视频在线观看| 久久亚洲一级片| 三级久久三级久久| 亚洲国产精品ⅴa在线观看| 亚洲一二三区视频在线观看| 国产精品一区专区| 欧美精品粉嫩高潮一区二区| 国产精品久久久久久久久果冻传媒 | 亚洲精品国产第一综合99久久| 久草在线在线精品观看| 日本韩国欧美国产| 久久毛片高清国产| 日日摸夜夜添夜夜添精品视频| 成人精品一区二区三区中文字幕| 欧美一区二区黄色| 亚洲综合色婷婷| 99精品欧美一区二区三区小说| 久久久三级国产网站| 蜜桃av一区二区三区电影| 欧洲一区在线观看| 亚洲色图清纯唯美| 成熟亚洲日本毛茸茸凸凹| 日韩欧美你懂的| 日韩激情在线观看| 欧美在线免费播放| 亚洲精品视频在线观看网站| 国产凹凸在线观看一区二区| 精品国产一二三区| 另类小说视频一区二区| 欧美久久久久久久久中文字幕| 一区二区三区欧美激情| 暴力调教一区二区三区| 国产夜色精品一区二区av| 黄网站免费久久| 日韩一卡二卡三卡四卡| 男人操女人的视频在线观看欧美| 欧美女孩性生活视频| 亚洲高清久久久| 欧美老女人在线| 三级在线观看一区二区| 91精品婷婷国产综合久久 | 91精品国产麻豆国产自产在线| 亚洲高清三级视频| 91精品国产福利在线观看| 青青草原综合久久大伊人精品 | 成人免费av在线| 欧美极品美女视频| 久久久噜噜噜久久人人看| 国产成人精品三级| 国产精品美女久久久久久久久 | 亚洲免费在线视频一区 二区| eeuss鲁一区二区三区| 亚洲欧美日韩系列| 欧美亚洲一区二区在线| 日韩电影在线一区二区三区| 欧美成人一区二区三区片免费| 精品亚洲欧美一区| 国产日韩欧美亚洲| 在线亚洲一区二区| 日韩国产高清在线| 2019国产精品| 91丨国产丨九色丨pron| 亚洲成人先锋电影| 久久蜜桃一区二区| 99re热视频精品| 亚洲香肠在线观看| 久久久久久久久免费| 95精品视频在线| 美女一区二区视频| 国产欧美日韩中文久久|