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

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

?? softfloat-specialize

?? sun2,sun3,sparcstation2 emulator
??
?? 第 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 )
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女视频| 亚洲一区中文日韩| 亚洲狼人国产精品| 麻豆成人在线观看| 91一区二区三区在线播放| 欧美大度的电影原声| 亚洲人成小说网站色在线 | 欧美网站大全在线观看| 国产婷婷色一区二区三区四区 | 色综合 综合色| 精品国产不卡一区二区三区| 亚洲美女视频一区| 成人晚上爱看视频| 久久综合九色综合欧美98| 亚洲va欧美va人人爽午夜| 91色在线porny| 国产午夜亚洲精品羞羞网站| 日本不卡123| 欧美性猛交一区二区三区精品| 中文一区在线播放| 国精产品一区一区三区mba视频| 欧美日韩国产一级| 亚洲一二三四在线观看| 91麻豆免费看| 国产精品入口麻豆原神| 国产一区二区三区四区五区美女| 欧美乱妇15p| 性久久久久久久久| 欧美日韩在线播| 亚洲国产cao| 欧美午夜精品理论片a级按摩| 亚洲日本电影在线| 91影院在线观看| 自拍偷拍亚洲综合| 一本色道久久综合亚洲aⅴ蜜桃 | 精品视频在线视频| 国产精品久久久久久久久久久免费看 | 亚洲三级视频在线观看| 成人成人成人在线视频| 亚洲欧洲精品一区二区三区不卡| 成人免费观看视频| 亚洲欧美国产毛片在线| 色综合激情久久| 亚洲福利电影网| 91精品在线麻豆| 麻豆精品久久精品色综合| 精品国产一区二区三区久久影院 | 国产一区二区三区免费看| 久久综合一区二区| 成人性生交大片免费看中文 | 欧美成人午夜电影| 国产99久久久久久免费看农村| 中文字幕欧美日韩一区| 成人av电影免费在线播放| 亚洲精选视频免费看| 欧美综合色免费| 蜜桃av一区二区三区电影| 国产丝袜美腿一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 一区二区三区在线观看网站| 欧美精品亚洲一区二区在线播放| 三级久久三级久久| 久久女同性恋中文字幕| 色综合色狠狠天天综合色| 天堂午夜影视日韩欧美一区二区| 欧美电影免费观看高清完整版在| 国产精品69毛片高清亚洲| 椎名由奈av一区二区三区| 欧美精选在线播放| 国产超碰在线一区| 亚洲电影一区二区三区| 精品免费视频一区二区| 成人h动漫精品| 麻豆精品久久久| 中文字幕日韩精品一区| 欧美精品黑人性xxxx| 国产99久久久精品| 日韩国产成人精品| 亚洲女人****多毛耸耸8| 欧美色欧美亚洲另类二区| 国产乱子轮精品视频| 亚洲一区二区三区在线播放| 久久久久久久久久久电影| 91黄色在线观看| 国产精品123区| 国产成人免费在线视频| 日韩av不卡一区二区| 亚洲欧美日韩国产手机在线| 久久新电视剧免费观看| 欧美电影一区二区三区| 色婷婷久久综合| 成人高清伦理免费影院在线观看| 另类小说视频一区二区| 亚洲综合成人在线视频| 亚洲日本青草视频在线怡红院 | 免费黄网站欧美| 亚洲一区二区视频在线观看| 中文字幕在线视频一区| 久久综合久久99| 7799精品视频| 在线中文字幕一区| 国产精品一区二区三区乱码| 亚洲欧美另类综合偷拍| 亚洲精品一区二区在线观看| 色哟哟日韩精品| 国产精品69久久久久水密桃| 日韩黄色小视频| 精品成人一区二区三区四区| 91精品国产日韩91久久久久久| 成人a免费在线看| 极品销魂美女一区二区三区| 国产精品国产三级国产aⅴ中文 | 欧美大片在线观看一区二区| 欧美精选午夜久久久乱码6080| 91视频.com| 成人小视频免费在线观看| 久久国产麻豆精品| 日韩电影一区二区三区四区| 亚洲图片另类小说| 一区二区三区在线视频观看58| 国产区在线观看成人精品| 精品区一区二区| 精品免费国产一区二区三区四区| 欧美日韩一区二区电影| 一本色道久久综合亚洲精品按摩| 国产成人欧美日韩在线电影| 麻豆精品在线观看| 日本美女一区二区三区视频| 香蕉成人伊视频在线观看| 亚洲午夜精品在线| 日韩成人免费看| 蜜桃视频一区二区三区| 蜜臂av日日欢夜夜爽一区| 午夜视频在线观看一区二区| 性久久久久久久久久久久| 一区二区不卡在线播放 | 午夜伊人狠狠久久| 免费久久精品视频| 日韩专区在线视频| 青青草原综合久久大伊人精品优势| 亚洲电影激情视频网站| 午夜亚洲福利老司机| 久久精品久久精品| 国产一区二区三区精品欧美日韩一区二区三区| 日本美女视频一区二区| 美女视频黄 久久| 国内欧美视频一区二区| 国产精品一区二区x88av| 日本精品裸体写真集在线观看| 在线免费观看成人短视频| 精品视频一区三区九区| 欧美一区二区日韩一区二区| 日韩欧美色综合| 国产亚洲欧美中文| 亚洲国产乱码最新视频| 麻豆成人91精品二区三区| 国产精品1区2区3区| 色素色在线综合| 欧美一区二区视频在线观看2022| 欧美激情综合五月色丁香小说| 亚洲三级电影网站| 人人爽香蕉精品| 国产 日韩 欧美大片| 色欧美88888久久久久久影院| 日韩一区二区三区观看| 中文字幕不卡三区| 亚洲一级不卡视频| 久久99国产精品免费| 99热精品国产| 欧美mv日韩mv国产网站| 综合久久综合久久| 美女被吸乳得到大胸91| 成人永久免费视频| 欧美精品乱码久久久久久| 中文字幕色av一区二区三区| 午夜精品久久久久久久| 国产一区二区三区久久久| 色哟哟日韩精品| 精品入口麻豆88视频| 亚洲三级久久久| 成人毛片在线观看| 91精品国产一区二区人妖| 国产日韩v精品一区二区| 视频一区二区国产| 99热在这里有精品免费| 国产欧美一区在线| 免费在线观看视频一区| 色婷婷一区二区| 欧美国产日本视频| 婷婷国产v国产偷v亚洲高清| 成人国产视频在线观看| 精品美女被调教视频大全网站| 亚洲欧美影音先锋| 国产黄人亚洲片| 久久嫩草精品久久久精品一| 午夜精品福利在线| 欧美日韩国产一二三| 亚洲一区二三区| 欧美日韩的一区二区| 亚洲欧美区自拍先锋|