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

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

?? softfloat-macros

?? 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.

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

/*----------------------------------------------------------------------------
| Shifts `a' right by the number of bits given in `count'.  If any nonzero
| bits are shifted off, they are ``jammed'' into the least significant bit of
| the result by setting the least significant bit to 1.  The value of `count'
| can be arbitrarily large; in particular, if `count' is greater than 32, the
| result will be either 0 or 1, depending on whether `a' is zero or nonzero.
| The result is stored in the location pointed to by `zPtr'.
*----------------------------------------------------------------------------*/

INLINE void shift32RightJamming( bits32 a, int16 count, bits32 *zPtr )
{
    bits32 z;

    if ( count == 0 ) {
        z = a;
    }
    else if ( count < 32 ) {
        z = ( a>>count ) | ( ( a<<( ( - count ) & 31 ) ) != 0 );
    }
    else {
        z = ( a != 0 );
    }
    *zPtr = z;

}

/*----------------------------------------------------------------------------
| Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
| number of bits given in `count'.  Any bits shifted off are lost.  The value
| of `count' can be arbitrarily large; in particular, if `count' is greater
| than 64, the result will be 0.  The result is broken into two 32-bit pieces
| which are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 shift64Right(
     bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
{
    bits32 z0, z1;
    int8 negCount = ( - count ) & 31;

    if ( count == 0 ) {
        z1 = a1;
        z0 = a0;
    }
    else if ( count < 32 ) {
        z1 = ( a0<<negCount ) | ( a1>>count );
        z0 = a0>>count;
    }
    else {
        z1 = ( count < 64 ) ? ( a0>>( count & 31 ) ) : 0;
        z0 = 0;
    }
    *z1Ptr = z1;
    *z0Ptr = z0;

}

/*----------------------------------------------------------------------------
| Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
| number of bits given in `count'.  If any nonzero bits are shifted off, they
| are ``jammed'' into the least significant bit of the result by setting the
| least significant bit to 1.  The value of `count' can be arbitrarily large;
| in particular, if `count' is greater than 64, the result will be either 0
| or 1, depending on whether the concatenation of `a0' and `a1' is zero or
| nonzero.  The result is broken into two 32-bit pieces which are stored at
| the locations pointed to by `z0Ptr' and `z1Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 shift64RightJamming(
     bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
{
    bits32 z0, z1;
    int8 negCount = ( - count ) & 31;

    if ( count == 0 ) {
        z1 = a1;
        z0 = a0;
    }
    else if ( count < 32 ) {
        z1 = ( a0<<negCount ) | ( a1>>count ) | ( ( a1<<negCount ) != 0 );
        z0 = a0>>count;
    }
    else {
        if ( count == 32 ) {
            z1 = a0 | ( a1 != 0 );
        }
        else if ( count < 64 ) {
            z1 = ( a0>>( count & 31 ) ) | ( ( ( a0<<negCount ) | a1 ) != 0 );
        }
        else {
            z1 = ( ( a0 | a1 ) != 0 );
        }
        z0 = 0;
    }
    *z1Ptr = z1;
    *z0Ptr = z0;

}

/*----------------------------------------------------------------------------
| Shifts the 96-bit value formed by concatenating `a0', `a1', and `a2' right
| by 32 _plus_ the number of bits given in `count'.  The shifted result is
| at most 64 nonzero bits; these are broken into two 32-bit pieces which are
| stored at the locations pointed to by `z0Ptr' and `z1Ptr'.  The bits shifted
| off form a third 32-bit result as follows:  The _last_ bit shifted off is
| the most-significant bit of the extra result, and the other 31 bits of the
| extra result are all zero if and only if _all_but_the_last_ bits shifted off
| were all zero.  This extra result is stored in the location pointed to by
| `z2Ptr'.  The value of `count' can be arbitrarily large.
|     (This routine makes more sense if `a0', `a1', and `a2' are considered
| to form a fixed-point value with binary point between `a1' and `a2'.  This
| fixed-point value is shifted right by the number of bits given in `count',
| and the integer part of the result is returned at the locations pointed to
| by `z0Ptr' and `z1Ptr'.  The fractional part of the result may be slightly
| corrupted as described above, and is returned at the location pointed to by
| `z2Ptr'.)
*----------------------------------------------------------------------------*/

INLINE void
 shift64ExtraRightJamming(
     bits32 a0,
     bits32 a1,
     bits32 a2,
     int16 count,
     bits32 *z0Ptr,
     bits32 *z1Ptr,
     bits32 *z2Ptr
 )
{
    bits32 z0, z1, z2;
    int8 negCount = ( - count ) & 31;

    if ( count == 0 ) {
        z2 = a2;
        z1 = a1;
        z0 = a0;
    }
    else {
        if ( count < 32 ) {
            z2 = a1<<negCount;
            z1 = ( a0<<negCount ) | ( a1>>count );
            z0 = a0>>count;
        }
        else {
            if ( count == 32 ) {
                z2 = a1;
                z1 = a0;
            }
            else {
                a2 |= a1;
                if ( count < 64 ) {
                    z2 = a0<<negCount;
                    z1 = a0>>( count & 31 );
                }
                else {
                    z2 = ( count == 64 ) ? a0 : ( a0 != 0 );
                    z1 = 0;
                }
            }
            z0 = 0;
        }
        z2 |= ( a2 != 0 );
    }
    *z2Ptr = z2;
    *z1Ptr = z1;
    *z0Ptr = z0;

}

/*----------------------------------------------------------------------------
| Shifts the 64-bit value formed by concatenating `a0' and `a1' left by the
| number of bits given in `count'.  Any bits shifted off are lost.  The value
| of `count' must be less than 32.  The result is broken into two 32-bit
| pieces which are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 shortShift64Left(
     bits32 a0, bits32 a1, int16 count, bits32 *z0Ptr, bits32 *z1Ptr )
{

    *z1Ptr = a1<<count;
    *z0Ptr =
        ( count == 0 ) ? a0 : ( a0<<count ) | ( a1>>( ( - count ) & 31 ) );

}

/*----------------------------------------------------------------------------
| Shifts the 96-bit value formed by concatenating `a0', `a1', and `a2' left
| by the number of bits given in `count'.  Any bits shifted off are lost.
| The value of `count' must be less than 32.  The result is broken into three
| 32-bit pieces which are stored at the locations pointed to by `z0Ptr',
| `z1Ptr', and `z2Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 shortShift96Left(
     bits32 a0,
     bits32 a1,
     bits32 a2,
     int16 count,
     bits32 *z0Ptr,
     bits32 *z1Ptr,
     bits32 *z2Ptr
 )
{
    bits32 z0, z1, z2;
    int8 negCount;

    z2 = a2<<count;
    z1 = a1<<count;
    z0 = a0<<count;
    if ( 0 < count ) {
        negCount = ( ( - count ) & 31 );
        z1 |= a2>>negCount;
        z0 |= a1>>negCount;
    }
    *z2Ptr = z2;
    *z1Ptr = z1;
    *z0Ptr = z0;

}

/*----------------------------------------------------------------------------
| Adds the 64-bit value formed by concatenating `a0' and `a1' to the 64-bit
| value formed by concatenating `b0' and `b1'.  Addition is modulo 2^64, so
| any carry out is lost.  The result is broken into two 32-bit pieces which
| are stored at the locations pointed to by `z0Ptr' and `z1Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 add64(
     bits32 a0, bits32 a1, bits32 b0, bits32 b1, bits32 *z0Ptr, bits32 *z1Ptr )
{
    bits32 z1;

    z1 = a1 + b1;
    *z1Ptr = z1;
    *z0Ptr = a0 + b0 + ( z1 < a1 );

}

/*----------------------------------------------------------------------------
| Adds the 96-bit value formed by concatenating `a0', `a1', and `a2' to the
| 96-bit value formed by concatenating `b0', `b1', and `b2'.  Addition is
| modulo 2^96, so any carry out is lost.  The result is broken into three
| 32-bit pieces which are stored at the locations pointed to by `z0Ptr',
| `z1Ptr', and `z2Ptr'.
*----------------------------------------------------------------------------*/

INLINE void
 add96(
     bits32 a0,
     bits32 a1,
     bits32 a2,
     bits32 b0,
     bits32 b1,
     bits32 b2,
     bits32 *z0Ptr,
     bits32 *z1Ptr,
     bits32 *z2Ptr
 )
{
    bits32 z0, z1, z2;
    int8 carry0, carry1;

    z2 = a2 + b2;
    carry1 = ( z2 < a2 );
    z1 = a1 + b1;
    carry0 = ( z1 < a1 );
    z0 = a0 + b0;
    z1 += carry1;
    z0 += ( z1 < carry1 );
    z0 += carry0;
    *z2Ptr = z2;
    *z1Ptr = z1;
    *z0Ptr = z0;

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线成人午夜影院| 成人性生交大片免费看在线播放| 欧美综合天天夜夜久久| 中文字幕在线一区免费| a在线欧美一区| 一区二区三区在线观看欧美 | 另类小说图片综合网| 91精品免费在线观看| 男女激情视频一区| 日韩美一区二区三区| 国产盗摄女厕一区二区三区| 综合分类小说区另类春色亚洲小说欧美 | 国产成人精品影院| 亚洲欧美在线另类| 欧美日韩免费电影| 久久成人羞羞网站| 国产精品午夜电影| 欧美三级三级三级| 国产毛片精品视频| 一级做a爱片久久| 日韩免费一区二区三区在线播放| 国产福利一区在线观看| 一区二区三区视频在线观看| 日韩精品一区二| 91视频你懂的| 久久电影网电视剧免费观看| 国产日韩欧美a| 欧美日韩视频一区二区| 国产精品一卡二卡在线观看| 亚洲男人的天堂在线aⅴ视频| 制服丝袜av成人在线看| 不卡一区二区在线| 美女视频黄 久久| 中文字幕欧美一| 日韩限制级电影在线观看| www.日韩av| 国内不卡的二区三区中文字幕| 亚洲欧美激情在线| 久久色在线观看| 欧美日韩国产一二三| 成人污污视频在线观看| 无吗不卡中文字幕| 国产精品免费视频一区| 欧美精品v国产精品v日韩精品 | 一片黄亚洲嫩模| 国产欧美一区二区精品久导航| 欧美日韩在线播放三区四区| 国产精品1024| 久久精品国产精品青草| 亚洲综合一二三区| 国产精品久线在线观看| 精品国产区一区| 欧美一区二区三区免费| 在线视频你懂得一区| 成人免费av网站| 国产乱对白刺激视频不卡| 日本中文一区二区三区| 亚洲自拍偷拍九九九| 亚洲三级免费电影| 国产精品午夜春色av| 久久久精品免费网站| 精品日韩欧美在线| 7777精品久久久大香线蕉| 欧美主播一区二区三区| 91偷拍与自偷拍精品| 成人性视频免费网站| 粉嫩在线一区二区三区视频| 狠狠色丁香婷婷综合久久片| 免费高清不卡av| 蜜臀av一区二区| 麻豆91精品91久久久的内涵| 日韩电影免费在线看| 午夜激情久久久| 三级久久三级久久| 丝袜诱惑制服诱惑色一区在线观看 | 色婷婷av一区二区三区gif| 成人国产精品免费网站| 99亚偷拍自图区亚洲| 91视频一区二区| 欧美自拍偷拍午夜视频| 欧洲精品中文字幕| 欧美日韩三级一区| 9191国产精品| 欧美第一区第二区| 久久综合五月天婷婷伊人| 久久久综合网站| 中文字幕在线一区二区三区| 亚洲色图另类专区| 亚洲成人免费在线| 日本强好片久久久久久aaa| 理论电影国产精品| 精品一区二区三区免费毛片爱| 色国产综合视频| 色av一区二区| 欧美一区二区在线不卡| 日韩美女主播在线视频一区二区三区| 精品久久久久久亚洲综合网| 久久九九久久九九| 亚洲欧洲日韩综合一区二区| 一区二区三区四区中文字幕| 亚洲bdsm女犯bdsm网站| 国产综合成人久久大片91| 成人av资源站| 欧美人动与zoxxxx乱| 2021国产精品久久精品| 国产精品电影一区二区| 亚洲国产人成综合网站| 精品在线播放免费| 97精品超碰一区二区三区| 69成人精品免费视频| 久久精品一二三| 亚洲女人的天堂| 久久精品国产久精国产爱| caoporen国产精品视频| 在线电影院国产精品| 国产亚洲女人久久久久毛片| 一区二区三区国产精品| 国产一区啦啦啦在线观看| 99久久99久久久精品齐齐| 欧美日韩成人激情| 欧美国产一区在线| 午夜精品成人在线视频| jvid福利写真一区二区三区| 91精品国产综合久久久久久久| 日本一区二区三区四区| 日韩电影在线一区二区| av一区二区三区在线| 日韩欧美电影一区| 亚洲人成网站精品片在线观看 | 亚洲成人777| 国产91精品免费| 51精品国自产在线| 日韩一区有码在线| 国产尤物一区二区| 欧美高清激情brazzers| 亚洲同性gay激情无套| 麻豆精品一区二区三区| 欧美性做爰猛烈叫床潮| 国产精品欧美精品| 国产精品小仙女| 日韩欧美一区二区在线视频| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲aⅴ怡春院| 一本到不卡免费一区二区| 国产无一区二区| 国产又黄又大久久| 欧美成人video| 午夜精品久久久久久久99水蜜桃| 91在线国内视频| 国产精品久久久久久久久快鸭 | 欧美成人女星排名| 五月激情综合网| 欧美系列日韩一区| 亚洲精品综合在线| 成人精品小蝌蚪| 久久精品一区蜜桃臀影院| 国内久久精品视频| 精品久久久久久最新网址| 久久成人免费电影| 欧美mv和日韩mv的网站| 久久国产精品99久久人人澡| 91精品国模一区二区三区| 天堂精品中文字幕在线| 欧美在线观看视频一区二区三区| 亚洲欧美一区二区三区极速播放| 丁香一区二区三区| 欧美国产国产综合| 北条麻妃国产九九精品视频| 国产欧美日韩在线视频| 高清不卡在线观看av| 国产日韩欧美电影| 福利电影一区二区| 成人欧美一区二区三区白人| 成人开心网精品视频| 亚洲视频免费在线观看| 91免费观看国产| 亚洲国产毛片aaaaa无费看| 欧美在线视频日韩| 日本欧美大码aⅴ在线播放| 欧美一区二区三区影视| 美女久久久精品| 国产三级精品三级在线专区| youjizz国产精品| 亚洲精品免费在线播放| 精品视频一区 二区 三区| 日本不卡视频在线观看| www精品美女久久久tv| fc2成人免费人成在线观看播放| 日韩美女视频一区| 欧美蜜桃一区二区三区| 久久99精品国产麻豆婷婷| 久久久亚洲精华液精华液精华液| 福利一区二区在线| 亚洲一区二区不卡免费| 日韩三级在线免费观看| 国产宾馆实践打屁股91| 亚洲免费观看视频| 欧美大黄免费观看| 91在线国产福利| 久久不见久久见免费视频1|