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

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

?? softfloat-specialize

?? 該文件是rt_linux
??
字號:
/*===============================================================================This C source fragment is part of the SoftFloat IEC/IEEE Floating-pointArithmetic Package, Release 2.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://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/softfloat.html'.THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable efforthas been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL ATTIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TOPERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANYAND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.Derivative works are acceptable, even for commercial purposes, so long as(1) they include prominent notice that the work is derivative, and (2) theyinclude prominent notice akin to these three paragraphs for those parts ofthis 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 bedefined here if desired.  It is currently not possible for such a trap tosubstitute a result value.  If traps are not implemented, this routineshould be simply `float_exception_flags |= flags;'.ScottB:  November 4, 1998Moved this function out of softfloat-specialize into fpmodule.c.This effectively isolates all the changes required for integrating with theLinux kernel into fpmodule.c.  Porting to NetBSD should only require modifyingfpmodule.c to integrate with the NetBSD kernel (I hope!).-------------------------------------------------------------------------------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 signalingNaN; 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 invalidexception 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 whichis a NaN, and returns the appropriate NaN result.  If either `a' or `b' is asignaling 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 signalingNaN; 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 invalidexception 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 whichis a NaN, and returns the appropriate NaN result.  If either `a' or `b' is asignaling 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 );    if ( aIsNaN ) {        return ( aIsSignalingNaN & bIsNaN ) ? b : a;    }    else {        return b;    }}#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 0xFFFF#define floatx80_default_nan_low  LIT64( 0xFFFFFFFFFFFFFFFF )/*-------------------------------------------------------------------------------Returns 1 if the extended double-precision floating-point value `a' is aNaN; 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 asignaling NaN; otherwise returns 0.-------------------------------------------------------------------------------*/flag floatx80_is_signaling_nan( floatx80 a ){    //register int lr;    bits64 aLow;    //__asm__("mov %0, lr" : : "g" (lr));    //fp_printk("floatx80_is_signalling_nan() called from 0x%08x\n",lr);    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, theinvalid 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 extendeddouble-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', oneof 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 );    if ( aIsNaN ) {        return ( aIsSignalingNaN & bIsNaN ) ? b : a;    }    else {        return b;    }}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区二区三区蜜桃| 99re热这里只有精品视频| 一本到三区不卡视频| 精品欧美一区二区在线观看| 亚洲色图欧美偷拍| 国产精品一区专区| 日韩小视频在线观看专区| 一区二区在线免费观看| 国产一区二区福利| 欧美一区二区三区白人| 一区二区三区日本| 成人h动漫精品| 久久综合九色综合97婷婷| 日韩高清欧美激情| 欧美三级在线视频| 亚洲精品视频免费观看| 成人黄色免费短视频| 欧美精品一区视频| 日本不卡视频一二三区| 欧美理论片在线| 一区二区三区日韩欧美| 99re这里都是精品| 欧美激情一区二区三区四区| 精品一区二区在线免费观看| 欧美一区二区三区在线| 亚洲小说欧美激情另类| 91久久久免费一区二区| 17c精品麻豆一区二区免费| 国产成人综合网| 久久亚洲精品国产精品紫薇| 麻豆精品在线播放| 欧美一个色资源| 日韩主播视频在线| 欧美精品v国产精品v日韩精品| 一区二区视频在线看| 91同城在线观看| 亚洲免费在线看| 色老汉一区二区三区| 亚洲乱码国产乱码精品精小说| 91最新地址在线播放| 亚洲欧美日韩人成在线播放| 91污在线观看| 一区二区在线免费| 久久99国产精品久久| 精品蜜桃在线看| 国产最新精品免费| 久久久久久97三级| 国产精品一区二区久久不卡| 久久久国产精华| av一区二区久久| 亚洲精品视频观看| 欧美日韩一区二区在线视频| 日韩国产精品久久久久久亚洲| 欧美大胆一级视频| 国产主播一区二区三区| 国产欧美精品国产国产专区| 99亚偷拍自图区亚洲| 亚洲精品乱码久久久久久久久| 色偷偷久久一区二区三区| 亚洲影院免费观看| 9191久久久久久久久久久| 久久99精品久久久久久动态图| www国产精品av| 成人午夜av电影| 亚洲激情一二三区| 欧美一区二区在线视频| 韩国一区二区三区| 国产精品国产精品国产专区不片| 色噜噜久久综合| 视频一区欧美日韩| 久久蜜桃一区二区| 97se亚洲国产综合自在线观| 亚洲一区在线播放| 日韩欧美一区在线观看| 国产成人精品一区二| 亚洲精品一二三| 欧美一级午夜免费电影| 粉嫩绯色av一区二区在线观看| 成人欧美一区二区三区| 欧美丰满少妇xxxxx高潮对白| 精品亚洲国产成人av制服丝袜| 国产精品视频一二三| 欧日韩精品视频| 精品一区二区三区日韩| 成人免费在线视频| 日韩欧美在线观看一区二区三区| 粉嫩蜜臀av国产精品网站| 亚洲大片精品永久免费| 精品日韩成人av| 91久久国产最好的精华液| 免费成人在线网站| 1024成人网| 精品免费一区二区三区| 91影视在线播放| 看电影不卡的网站| 亚洲欧美国产高清| 精品国产伦一区二区三区免费| 成人av第一页| 日韩主播视频在线| 中文字幕视频一区| 日韩精品一区在线| 色老头久久综合| 国产成人免费视频精品含羞草妖精| 一区二区三区四区精品在线视频| 精品国产精品网麻豆系列| 91美女福利视频| 国产又黄又大久久| 亚洲大片免费看| 一区在线观看免费| 精品国产一区二区国模嫣然| 欧美无人高清视频在线观看| 国产91色综合久久免费分享| 秋霞影院一区二区| 亚洲一区影音先锋| 国产精品网站在线播放| 日韩精品一区在线| 欧美日韩免费高清一区色橹橹| 成人午夜激情影院| 国内精品久久久久影院色| 午夜伦欧美伦电影理论片| 一区在线播放视频| 国产人久久人人人人爽| 欧美一级免费大片| 欧美色网一区二区| 91性感美女视频| 成人动漫在线一区| 国产一区二区在线视频| 日韩精品一区第一页| 亚洲综合激情另类小说区| 国产精品欧美综合在线| 久久久不卡网国产精品二区 | 九九热在线视频观看这里只有精品| 亚洲欧美另类小说视频| 国产无遮挡一区二区三区毛片日本| 欧美电影在哪看比较好| 中文字幕av免费专区久久| 精品少妇一区二区三区| 欧美一区二区久久久| 欧美日韩国产一级| 欧美这里有精品| 91伊人久久大香线蕉| 不卡的av网站| 国产91在线看| 国产东北露脸精品视频| 蜜臀av性久久久久av蜜臀妖精| 香蕉成人伊视频在线观看| 一区二区三区在线观看欧美| 亚洲乱码国产乱码精品精的特点 | 欧美日韩一区二区在线视频| 色婷婷国产精品综合在线观看| 不卡av免费在线观看| 福利一区福利二区| 国产成人免费高清| 成人在线一区二区三区| 国产成人综合网站| 国产91精品免费| 成人免费av网站| 91在线你懂得| 在线欧美日韩国产| 精品污污网站免费看| 欧美日韩国产中文| 欧美一区二区三区系列电影| 91精品国产一区二区三区蜜臀| 51午夜精品国产| 日韩欧美卡一卡二| 久久综合成人精品亚洲另类欧美 | 欧美一区二区三区精品| 日韩三级视频在线观看| 精品福利一二区| 久久午夜老司机| 国产精品久线观看视频| 亚洲欧美激情小说另类| 亚洲18影院在线观看| 麻豆精品一区二区综合av| 老汉av免费一区二区三区| 国产精品亚洲一区二区三区在线 | 日韩影视精彩在线| 久久国产精品免费| 国产一区二区免费看| 不卡一区二区三区四区| 91国偷自产一区二区开放时间 | 欧美成人精精品一区二区频| 精品国产一区二区三区不卡 | 欧美日韩国产综合一区二区| 91精品国产高清一区二区三区蜜臀 | 久久99精品久久久久久国产越南 | 精品一区二区三区不卡| 国产盗摄精品一区二区三区在线| caoporm超碰国产精品| 欧美无乱码久久久免费午夜一区| 亚洲国产精品久久人人爱| 免费一级欧美片在线观看| 国产一区二区成人久久免费影院| 成人av在线一区二区| 欧美日韩中文字幕一区二区| 日韩精品一区二区在线| 国产精品高潮久久久久无| 一区二区欧美精品| 精品一区二区三区在线观看| 不卡的电影网站|