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

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

?? softfloat.c

?? 是關于linux2.5.1的完全源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
    if ( aExp == 0 ) {        ++expDiff;    }    else {        aSig |= 0x40000000;    }    shift32RightJamming( aSig, - expDiff, &aSig );    bSig |= 0x40000000; bBigger:    zSig = bSig - aSig;    zExp = bExp;    zSign ^= 1;    goto normalizeRoundAndPack; aExpBigger:    if ( aExp == 0xFF ) {        if ( aSig ) return propagateFloat32NaN( a, b );        return a;    }    if ( bExp == 0 ) {        --expDiff;    }    else {        bSig |= 0x40000000;    }    shift32RightJamming( bSig, expDiff, &bSig );    aSig |= 0x40000000; aBigger:    zSig = aSig - bSig;    zExp = aExp; normalizeRoundAndPack:    --zExp;    return normalizeRoundAndPackFloat32( zSign, zExp, zSig );}/*-------------------------------------------------------------------------------Returns the result of adding the single-precision floating-point values `a'and `b'.  The operation is performed according to the IEC/IEEE Standard forBinary Floating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_add( float32 a, float32 b ){    flag aSign, bSign;    aSign = extractFloat32Sign( a );    bSign = extractFloat32Sign( b );    if ( aSign == bSign ) {        return addFloat32Sigs( a, b, aSign );    }    else {        return subFloat32Sigs( a, b, aSign );    }}/*-------------------------------------------------------------------------------Returns the result of subtracting the single-precision floating-point values`a' and `b'.  The operation is performed according to the IEC/IEEE Standardfor Binary Floating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_sub( float32 a, float32 b ){    flag aSign, bSign;    aSign = extractFloat32Sign( a );    bSign = extractFloat32Sign( b );    if ( aSign == bSign ) {        return subFloat32Sigs( a, b, aSign );    }    else {        return addFloat32Sigs( a, b, aSign );    }}/*-------------------------------------------------------------------------------Returns the result of multiplying the single-precision floating-point values`a' and `b'.  The operation is performed according to the IEC/IEEE Standardfor Binary Floating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_mul( float32 a, float32 b ){    flag aSign, bSign, zSign;    int16 aExp, bExp, zExp;    bits32 aSig, bSig;    bits64 zSig64;    bits32 zSig;    aSig = extractFloat32Frac( a );    aExp = extractFloat32Exp( a );    aSign = extractFloat32Sign( a );    bSig = extractFloat32Frac( b );    bExp = extractFloat32Exp( b );    bSign = extractFloat32Sign( b );    zSign = aSign ^ bSign;    if ( aExp == 0xFF ) {        if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {            return propagateFloat32NaN( a, b );        }        if ( ( bExp | bSig ) == 0 ) {            float_raise( float_flag_invalid );            return float32_default_nan;        }        return packFloat32( zSign, 0xFF, 0 );    }    if ( bExp == 0xFF ) {        if ( bSig ) return propagateFloat32NaN( a, b );        if ( ( aExp | aSig ) == 0 ) {            float_raise( float_flag_invalid );            return float32_default_nan;        }        return packFloat32( zSign, 0xFF, 0 );    }    if ( aExp == 0 ) {        if ( aSig == 0 ) return packFloat32( zSign, 0, 0 );        normalizeFloat32Subnormal( aSig, &aExp, &aSig );    }    if ( bExp == 0 ) {        if ( bSig == 0 ) return packFloat32( zSign, 0, 0 );        normalizeFloat32Subnormal( bSig, &bExp, &bSig );    }    zExp = aExp + bExp - 0x7F;    aSig = ( aSig | 0x00800000 )<<7;    bSig = ( bSig | 0x00800000 )<<8;    shift64RightJamming( ( (bits64) aSig ) * bSig, 32, &zSig64 );    zSig = zSig64;    if ( 0 <= (sbits32) ( zSig<<1 ) ) {        zSig <<= 1;        --zExp;    }    return roundAndPackFloat32( zSign, zExp, zSig );}/*-------------------------------------------------------------------------------Returns the result of dividing the single-precision floating-point value `a'by the corresponding value `b'.  The operation is performed according to theIEC/IEEE Standard for Binary Floating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_div( float32 a, float32 b ){    flag aSign, bSign, zSign;    int16 aExp, bExp, zExp;    bits32 aSig, bSig, zSig;    aSig = extractFloat32Frac( a );    aExp = extractFloat32Exp( a );    aSign = extractFloat32Sign( a );    bSig = extractFloat32Frac( b );    bExp = extractFloat32Exp( b );    bSign = extractFloat32Sign( b );    zSign = aSign ^ bSign;    if ( aExp == 0xFF ) {        if ( aSig ) return propagateFloat32NaN( a, b );        if ( bExp == 0xFF ) {            if ( bSig ) return propagateFloat32NaN( a, b );            float_raise( float_flag_invalid );            return float32_default_nan;        }        return packFloat32( zSign, 0xFF, 0 );    }    if ( bExp == 0xFF ) {        if ( bSig ) return propagateFloat32NaN( a, b );        return packFloat32( zSign, 0, 0 );    }    if ( bExp == 0 ) {        if ( bSig == 0 ) {            if ( ( aExp | aSig ) == 0 ) {                float_raise( float_flag_invalid );                return float32_default_nan;            }            float_raise( float_flag_divbyzero );            return packFloat32( zSign, 0xFF, 0 );        }        normalizeFloat32Subnormal( bSig, &bExp, &bSig );    }    if ( aExp == 0 ) {        if ( aSig == 0 ) return packFloat32( zSign, 0, 0 );        normalizeFloat32Subnormal( aSig, &aExp, &aSig );    }    zExp = aExp - bExp + 0x7D;    aSig = ( aSig | 0x00800000 )<<7;    bSig = ( bSig | 0x00800000 )<<8;    if ( bSig <= ( aSig + aSig ) ) {        aSig >>= 1;        ++zExp;    }    zSig = ( ( (bits64) aSig )<<32 ) / bSig;    if ( ( zSig & 0x3F ) == 0 ) {        zSig |= ( ( (bits64) bSig ) * zSig != ( (bits64) aSig )<<32 );    }    return roundAndPackFloat32( zSign, zExp, zSig );}/*-------------------------------------------------------------------------------Returns the remainder of the single-precision floating-point value `a'with respect to the corresponding value `b'.  The operation is performedaccording to the IEC/IEEE Standard for Binary Floating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_rem( float32 a, float32 b ){    flag aSign, bSign, zSign;    int16 aExp, bExp, expDiff;    bits32 aSig, bSig;    bits32 q;    bits64 aSig64, bSig64, q64;    bits32 alternateASig;    sbits32 sigMean;    aSig = extractFloat32Frac( a );    aExp = extractFloat32Exp( a );    aSign = extractFloat32Sign( a );    bSig = extractFloat32Frac( b );    bExp = extractFloat32Exp( b );    bSign = extractFloat32Sign( b );    if ( aExp == 0xFF ) {        if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) {            return propagateFloat32NaN( a, b );        }        float_raise( float_flag_invalid );        return float32_default_nan;    }    if ( bExp == 0xFF ) {        if ( bSig ) return propagateFloat32NaN( a, b );        return a;    }    if ( bExp == 0 ) {        if ( bSig == 0 ) {            float_raise( float_flag_invalid );            return float32_default_nan;        }        normalizeFloat32Subnormal( bSig, &bExp, &bSig );    }    if ( aExp == 0 ) {        if ( aSig == 0 ) return a;        normalizeFloat32Subnormal( aSig, &aExp, &aSig );    }    expDiff = aExp - bExp;    aSig |= 0x00800000;    bSig |= 0x00800000;    if ( expDiff < 32 ) {        aSig <<= 8;        bSig <<= 8;        if ( expDiff < 0 ) {            if ( expDiff < -1 ) return a;            aSig >>= 1;        }        q = ( bSig <= aSig );        if ( q ) aSig -= bSig;        if ( 0 < expDiff ) {            q = ( ( (bits64) aSig )<<32 ) / bSig;            q >>= 32 - expDiff;            bSig >>= 2;            aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q;        }        else {            aSig >>= 2;            bSig >>= 2;        }    }    else {        if ( bSig <= aSig ) aSig -= bSig;        aSig64 = ( (bits64) aSig )<<40;        bSig64 = ( (bits64) bSig )<<40;        expDiff -= 64;        while ( 0 < expDiff ) {            q64 = estimateDiv128To64( aSig64, 0, bSig64 );            q64 = ( 2 < q64 ) ? q64 - 2 : 0;            aSig64 = - ( ( bSig * q64 )<<38 );            expDiff -= 62;        }        expDiff += 64;        q64 = estimateDiv128To64( aSig64, 0, bSig64 );        q64 = ( 2 < q64 ) ? q64 - 2 : 0;        q = q64>>( 64 - expDiff );        bSig <<= 6;        aSig = ( ( aSig64>>33 )<<( expDiff - 1 ) ) - bSig * q;    }    do {        alternateASig = aSig;        ++q;        aSig -= bSig;    } while ( 0 <= (sbits32) aSig );    sigMean = aSig + alternateASig;    if ( ( sigMean < 0 ) || ( ( sigMean == 0 ) && ( q & 1 ) ) ) {        aSig = alternateASig;    }    zSign = ( (sbits32) aSig < 0 );    if ( zSign ) aSig = - aSig;    return normalizeRoundAndPackFloat32( aSign ^ zSign, bExp, aSig );}/*-------------------------------------------------------------------------------Returns the square root of the single-precision floating-point value `a'.The operation is performed according to the IEC/IEEE Standard for BinaryFloating-point Arithmetic.-------------------------------------------------------------------------------*/float32 float32_sqrt( float32 a ){    flag aSign;    int16 aExp, zExp;    bits32 aSig, zSig;    bits64 rem, term;    aSig = extractFloat32Frac( a );    aExp = extractFloat32Exp( a );    aSign = extractFloat32Sign( a );    if ( aExp == 0xFF ) {        if ( aSig ) return propagateFloat32NaN( a, 0 );        if ( ! aSign ) return a;        float_raise( float_flag_invalid );        return float32_default_nan;    }    if ( aSign ) {        if ( ( aExp | aSig ) == 0 ) return a;        float_raise( float_flag_invalid );        return float32_default_nan;    }    if ( aExp == 0 ) {        if ( aSig == 0 ) return 0;        normalizeFloat32Subnormal( aSig, &aExp, &aSig );    }    zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E;    aSig = ( aSig | 0x00800000 )<<8;    zSig = estimateSqrt32( aExp, aSig ) + 2;    if ( ( zSig & 0x7F ) <= 5 ) {        if ( zSig < 2 ) {            zSig = 0xFFFFFFFF;        }        else {            aSig >>= aExp & 1;            term = ( (bits64) zSig ) * zSig;            rem = ( ( (bits64) aSig )<<32 ) - term;            while ( (sbits64) rem < 0 ) {                --zSig;                rem += ( ( (bits64) zSig )<<1 ) | 1;            }            zSig |= ( rem != 0 );        }    }    shift32RightJamming( zSig, 1, &zSig );    return roundAndPackFloat32( 0, zExp, zSig );}/*-------------------------------------------------------------------------------Returns 1 if the single-precision floating-point value `a' is equal to thecorresponding value `b', and 0 otherwise.  The comparison is performedaccording to the IEC/IEEE Standard for Binary Floating-point Arithmetic.-------------------------------------------------------------------------------*/flag float32_eq( float32 a, float32 b ){    if (    ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )         || ( ( extractFloat32Exp( b ) == 0xFF ) && extractFloat32Frac( b ) )       ) {        if ( float32_is_signaling_nan( a ) || float32_is_signaling_nan( b ) ) {            float_raise( float_flag_invalid );        }        return 0;    }    return ( a == b ) || ( (bits32) ( ( a | b )<<1 ) == 0 );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产午夜精品| 精品一区二区三区的国产在线播放| 夜夜爽夜夜爽精品视频| 另类小说色综合网站| 色婷婷精品大视频在线蜜桃视频 | 亚洲国产精品久久人人爱| 国产一区二区精品在线观看| 欧美色男人天堂| 亚洲国产成人私人影院tom | 亚洲一区中文日韩| 粉嫩绯色av一区二区在线观看| 欧美福利一区二区| 一区二区三区不卡视频| 国产成人av网站| 久久综合久久99| 美女任你摸久久| 欧美高清你懂得| 亚洲va国产va欧美va观看| 99久久久国产精品| 国产欧美精品国产国产专区| 经典三级在线一区| 日韩精品中文字幕一区| 亚洲一区二区三区美女| 91久久国产最好的精华液| 国产精品久久久久三级| 国产成人综合亚洲91猫咪| 精品国产乱码久久久久久老虎| 丝袜诱惑制服诱惑色一区在线观看| 色婷婷精品久久二区二区蜜臀av| 亚洲欧美综合色| www.视频一区| 国产精品初高中害羞小美女文| 国产成人午夜精品5599| 欧美精品aⅴ在线视频| 一区二区三区中文字幕精品精品| 色综合天天在线| 亚洲乱码日产精品bd| 成人免费视频网站在线观看| 国产精品美女一区二区三区| 成人app软件下载大全免费| 国产精品美女久久久久久2018 | 一区二区三区久久| 欧美系列亚洲系列| 亚洲激情校园春色| 欧美亚洲一区二区在线| 性做久久久久久免费观看| 欧美二区乱c少妇| 麻豆精品一区二区av白丝在线| 欧美日韩综合在线| 日韩av电影天堂| 日韩亚洲欧美在线观看| 国产乱码精品一区二区三区av | 91国产成人在线| 日本在线观看不卡视频| 久久夜色精品一区| 成人性生交大片免费看在线播放| 亚洲色图在线视频| 欧美日韩三级在线| 国产精品自拍网站| 亚洲激情六月丁香| 日韩精品一区二区三区中文精品| 国产精品亚洲专一区二区三区| ㊣最新国产の精品bt伙计久久| 在线观看亚洲精品| 韩国中文字幕2020精品| 国产精品福利一区| 777久久久精品| 国产成人高清在线| 天天色天天操综合| 国产日韩欧美综合一区| 91福利在线导航| 国产真实乱对白精彩久久| 亚洲精品视频观看| 久久蜜桃一区二区| 欧美色综合影院| 国产98色在线|日韩| 亚洲图片有声小说| 国产精品素人视频| 日韩欧美一级二级三级| 91丨porny丨蝌蚪视频| 美女视频黄免费的久久 | av成人动漫在线观看| 日韩av中文在线观看| 亚洲欧美日韩一区| 日韩免费观看2025年上映的电影 | 欧美日韩国产123区| 成人免费视频播放| 美国毛片一区二区三区| 亚洲精品你懂的| 国产精品美日韩| 亚洲精品一区二区三区蜜桃下载| 91福利国产成人精品照片| 国产在线观看免费一区| 亚洲成人动漫在线免费观看| 亚洲国产电影在线观看| 久久久欧美精品sm网站| 日韩一区二区免费在线电影| 99热在这里有精品免费| 国产精品亚洲人在线观看| 日韩高清欧美激情| 亚洲成人av中文| 亚洲美女免费在线| 亚洲欧洲日产国产综合网| 国产日韩v精品一区二区| 日韩一区二区三区精品视频| 欧美在线影院一区二区| 91年精品国产| 91美女视频网站| 成人av在线影院| 成人精品视频网站| 国产精品18久久久久久久久久久久| 美女尤物国产一区| 蜜臀av性久久久久av蜜臀妖精| 天堂资源在线中文精品| 曰韩精品一区二区| 亚洲一区二区三区美女| 亚洲成av人综合在线观看| 一区二区激情小说| 一区二区在线免费观看| 亚洲精品免费视频| 亚洲一区二区视频| 亚洲chinese男男1069| 婷婷综合五月天| 蜜桃久久精品一区二区| 蜜桃久久av一区| 精品一区二区免费看| 国产综合色精品一区二区三区| 国产精品正在播放| av午夜一区麻豆| 在线观看免费亚洲| 欧美精品777| 久久综合久色欧美综合狠狠| 国产欧美视频一区二区| 国产精品久久久久影院老司| 亚洲日本va午夜在线电影| 亚洲一区二区三区美女| 麻豆国产欧美日韩综合精品二区 | 亚洲成人精品影院| 久久国产精品免费| 成人激情小说乱人伦| 91丨porny丨国产入口| 欧美三级一区二区| 精品美女在线播放| 国产精品第四页| 视频在线在亚洲| 国产精品12区| 在线观看视频一区二区欧美日韩| 欧美一区二区三区播放老司机| 精品久久久久久久久久久久久久久久久 | 一区二区三区欧美视频| 日韩精品一级二级| 国产.精品.日韩.另类.中文.在线.播放| 成人av电影在线| 日韩一二三区不卡| 亚洲三级理论片| 经典三级视频一区| 色综合天天综合网天天狠天天| 日韩一级片网站| 一区二区三区免费观看| 国产在线一区二区综合免费视频| 色诱亚洲精品久久久久久| 欧美一区二区国产| 一区二区三区日韩| 国产精品88888| 538在线一区二区精品国产| 国产午夜精品美女毛片视频| 亚洲午夜精品17c| 夫妻av一区二区| 日韩视频在线永久播放| 亚洲欧美日韩综合aⅴ视频| 国产一区二区不卡在线| 欧美剧在线免费观看网站| 国产精品美女久久久久久久| 久久电影网电视剧免费观看| 在线观看中文字幕不卡| 国产精品午夜电影| 国产在线精品一区二区夜色| 欧美亚洲动漫精品| 综合中文字幕亚洲| 国产一区欧美一区| 欧美一个色资源| 午夜影院久久久| 欧洲日韩一区二区三区| 亚洲欧洲美洲综合色网| 国产成人av资源| www一区二区| 激情欧美日韩一区二区| 欧美一区二区免费视频| 亚洲成a人片在线不卡一二三区| 99re热视频精品| 中文欧美字幕免费| 高清不卡一区二区在线| 精品噜噜噜噜久久久久久久久试看| 天堂久久久久va久久久久| 欧美综合亚洲图片综合区| 亚洲自拍另类综合| 在线一区二区三区四区五区| 一区二区三区国产精华| 日本韩国欧美国产| 亚洲黄色小视频|