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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mathdp31.c

?? GSM中半速率語(yǔ)音編解碼源碼
?? C
字號(hào):
/***************************************************************************
 *
 *   File Name:  mathdp31.c
 *
 *   Purpose:  Contains functions increased-precision arithmetic operations.
 *
 *      Below is a listing of all the functions in this file.  There
 *      is no interdependence among the functions.
 *
 *      L_mpy_ls()
 *      L_mpy_ll()
 *      isLwLimit()
 *      isSwLimit()
 *
 ***************************************************************************/
/*_________________________________________________________________________
 |                                                                         |
 |                              Include Files                              |
 |_________________________________________________________________________|
*/

#include "mathhalf.h"
#include "typedefs.h"

/****************************************************************************
 *
 *     FUNCTION NAME: isLwLimit
 *
 *     PURPOSE:
 *
 *        Check to see if the input Longword is at the
 *        upper or lower limit of its range.  i.e.
 *        0x7fff ffff or -0x8000 0000
 *
 *        Ostensibly this is a check for an overflow.
 *        This does not truly mean an overflow occurred,
 *        it means the value reached is the
 *        maximum/minimum value representable.  It may
 *        have come about due to an overflow.
 *
 *     INPUTS:
 *
 *       L_In               A Longword input variable
 *
 *
 *     OUTPUTS:             none
 *
 *     RETURN VALUE:        1 if input == 0x7fff ffff or -0x8000 0000
 *                          0 otherwise
 *
 *     KEYWORDS: saturation, limit
 *
 ***************************************************************************/

short  isLwLimit(Longword L_In)
{

  Longword L_ls;
  short  siOut;

  if (L_In != 0)
  {
    L_ls = L_shl(L_In, 1);
    if (L_sub(L_In, L_ls) == 0)
      siOut = 1;
    else
      siOut = 0;
  }
  else
  {
    siOut = 0;
  }
  return (siOut);
}

/****************************************************************************
 *
 *     FUNCTION NAME: isSwLimit
 *
 *     PURPOSE:
 *
 *        Check to see if the input Shortword is at the
 *        upper or lower limit of its range.  i.e.
 *        0x7fff or -0x8000
 *
 *        Ostensibly this is a check for an overflow.
 *        This does not truly mean an overflow occurred,
 *        it means the value reached is the
 *        maximum/minimum value representable.  It may
 *        have come about due to an overflow.
 *
 *     INPUTS:
 *
 *       swIn               A Shortword input variable
 *
 *
 *     OUTPUTS:             none
 *
 *     RETURN VALUE:        1 if input == 0x7fff or -0x8000
 *                          0 otherwise
 *
 *     KEYWORDS: saturation, limit
 *
 ***************************************************************************/

short  isSwLimit(Shortword swIn)
{

  Shortword swls;
  short  siOut;

  if (swIn != 0)
  {
    swls = shl(swIn, 1);
    if (sub(swIn, swls) == 0)          /* logical compare outputs 1/0 */
      siOut = 1;
    else
      siOut = 0;
  }
  else
  {
    siOut = 0;
  }
  return (siOut);

}

/****************************************************************************
 *
 *     FUNCTION NAME: L_mpy_ll
 *
 *     PURPOSE:    Multiply a 32 bit number (L_var1) and a 32 bit number
 *                 (L_var2), and return a 32 bit result.
 *
 *     INPUTS:
 *
 *       L_var1             A Longword input variable
 *
 *       L_var2             A Longword input variable
 *
 *     OUTPUTS:             none
 *
 *     IMPLEMENTATION:
 *
 *        Performs a 31x31 bit multiply, Complexity=24 Ops.
 *
 *        Let x1x0, or y1y0, be the two constituent halves
 *        of a 32 bit number.  This function performs the
 *        following:
 *
 *        low = ((x0 >> 1)*(y0 >> 1)) >> 16     (low * low)
 *        mid1 = [(x1 * (y0 >> 1)) >> 1 ]       (high * low)
 *        mid2 = [(y1 * (x0 >> 1)) >> 1]        (high * low)
 *        mid =  (mid1 + low + mid2) >> 14      (sum so far)
 *        output = (y1*x1) + mid                (high * high)
 *
 *
 *     RETURN VALUE:        A Longword value
 *
 *     KEYWORDS: mult,mpy,multiplication
 *
 ***************************************************************************/

Longword L_mpy_ll(Longword L_var1, Longword L_var2)
{
  Shortword swLow1,
         swLow2,
         swHigh1,
         swHigh2;
  Longword L_varOut,
         L_low,
         L_mid1,
         L_mid2,
         L_mid;


  swLow1 = shr(extract_l(L_var1), 1);
  swLow1 = SW_MAX & swLow1;

  swLow2 = shr(extract_l(L_var2), 1);
  swLow2 = SW_MAX & swLow2;
  swHigh1 = extract_h(L_var1);
  swHigh2 = extract_h(L_var2);

  L_low = L_mult(swLow1, swLow2);
  L_low = L_shr(L_low, 16);

  L_mid1 = L_mult(swHigh1, swLow2);
  L_mid1 = L_shr(L_mid1, 1);
  L_mid = L_add(L_mid1, L_low);

  L_mid2 = L_mult(swHigh2, swLow1);
  L_mid2 = L_shr(L_mid2, 1);
  L_mid = L_add(L_mid, L_mid2);

  L_mid = L_shr(L_mid, 14);
  L_varOut = L_mac(L_mid, swHigh1, swHigh2);

  return (L_varOut);
}

/****************************************************************************
 *
 *     FUNCTION NAME: L_mpy_ls
 *
 *     PURPOSE:    Multiply a 32 bit number (L_var2) and a 16 bit
 *                 number (var1) returning a 32 bit result. L_var2
 *                 is truncated to 31 bits prior to executing the
 *                 multiply.
 *
 *     INPUTS:
 *
 *       L_var2             A Longword input variable
 *
 *       var1               A Shortword input variable
 *
 *     OUTPUTS:             none
 *
 *     RETURN VALUE:        A Longword value
 *
 *     KEYWORDS: mult,mpy,multiplication
 *
 ***************************************************************************/

Longword L_mpy_ls(Longword L_var2, Shortword var1)
{
  Longword L_varOut;
  Shortword swtemp;

  swtemp = shr(extract_l(L_var2), 1);
  swtemp = (short) 32767 & (short) swtemp;

  L_varOut = L_mult(var1, swtemp);
  L_varOut = L_shr(L_varOut, 15);
  L_varOut = L_mac(L_varOut, var1, extract_h(L_var2));
  return (L_varOut);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美另类videos死尸| 亚洲精品成人天堂一二三| 777a∨成人精品桃花网| 欧美性欧美巨大黑白大战| 日本道色综合久久| 91毛片在线观看| 色狠狠av一区二区三区| 色嗨嗨av一区二区三区| 欧美色视频在线| 制服丝袜亚洲网站| 日韩欧美国产综合一区| 欧美一卡2卡3卡4卡| 欧美一级一级性生活免费录像| 欧美一区永久视频免费观看| 日韩欧美你懂的| 久久精品欧美一区二区三区麻豆| 久久亚洲一区二区三区明星换脸| 久久九九99视频| 国产精品国产三级国产专播品爱网| 国产精品福利电影一区二区三区四区| 成人欧美一区二区三区| 亚洲欧美aⅴ...| 亚洲国产aⅴ天堂久久| 日日骚欧美日韩| 极品少妇xxxx精品少妇偷拍| 国产91精品一区二区麻豆网站| 成人国产电影网| 色中色一区二区| 欧美日韩成人高清| 日韩一级精品视频在线观看| 久久综合久久鬼色中文字| 久久尤物电影视频在线观看| 国产精品欧美久久久久一区二区| 亚洲一区中文在线| 麻豆91在线看| 99综合电影在线视频| 欧美在线观看视频在线| 欧美大胆人体bbbb| 亚洲丝袜精品丝袜在线| 日本sm残虐另类| 成人午夜免费视频| 欧美日韩一级视频| 久久精品一区蜜桃臀影院| 亚洲激情一二三区| 久久国产成人午夜av影院| www.亚洲色图| 欧美精品丝袜中出| 日本一区二区三区四区在线视频 | 亚洲成人av一区二区| 毛片av一区二区三区| 成人av综合在线| 3atv一区二区三区| 国产精品久久久久久久久动漫| 亚洲va韩国va欧美va| 成人深夜福利app| 91精品免费在线| 国产精品理论片| 日本麻豆一区二区三区视频| 成人av网站在线观看免费| 51精品久久久久久久蜜臀| 欧美激情在线看| 日韩成人一级片| 99视频超级精品| 精品日韩欧美在线| 亚洲综合一区二区三区| 国产成人精品影院| 欧美精品第1页| 亚洲欧美日韩一区二区| 国产麻豆91精品| 91精品国产综合久久精品| 亚洲欧美区自拍先锋| 狠狠色丁香九九婷婷综合五月| 欧美性感一区二区三区| 国产精品天美传媒| 国产精品自拍毛片| 日韩欧美一区中文| 亚洲国产精品一区二区www| 不卡一区二区在线| 久久久午夜精品理论片中文字幕| 亚洲成av人片www| 在线观看国产91| 日韩一区日韩二区| 国产不卡在线视频| 精品久久久久久久久久久久久久久久久| 亚洲成a人v欧美综合天堂下载| 不卡免费追剧大全电视剧网站| 久久综合精品国产一区二区三区 | 另类中文字幕网| 欧美日韩亚洲综合| 亚洲精品亚洲人成人网| www.日韩大片| 国产精品久久久久久久久动漫| 国产91精品免费| 国产欧美日韩精品a在线观看| 精品制服美女久久| 日韩精品一区国产麻豆| 免费不卡在线观看| 欧美一级片在线观看| 日韩av电影免费观看高清完整版在线观看 | 亚洲女人****多毛耸耸8| 成人福利视频网站| 亚洲国产成人午夜在线一区| 国产一区二区按摩在线观看| www一区二区| 国产精品一色哟哟哟| www国产成人免费观看视频 深夜成人网| 久久超碰97中文字幕| 欧美第一区第二区| 国产麻豆9l精品三级站| 2020国产精品自拍| 成人永久aaa| 亚洲色欲色欲www在线观看| 色婷婷一区二区三区四区| 亚洲人快播电影网| 色94色欧美sute亚洲线路一久| 亚洲伊人色欲综合网| 欧美日本免费一区二区三区| 日韩激情视频在线观看| 欧美一区二区三区的| 韩国精品免费视频| 国产精品美女久久久久aⅴ国产馆| 粉嫩av一区二区三区在线播放| 亚洲欧洲日本在线| 精品视频在线免费看| 日本中文字幕一区二区有限公司| 日韩精品在线网站| 成人网在线免费视频| 一区二区三区资源| 在线播放欧美女士性生活| 久久99国产精品免费网站| 国产欧美日韩卡一| 在线免费观看视频一区| 免费一级欧美片在线观看| 国产视频一区二区在线| 99久久精品一区| 日韩二区在线观看| 久久九九久久九九| 在线精品视频一区二区三四| 日本午夜精品视频在线观看| 2021久久国产精品不只是精品| 99re亚洲国产精品| 午夜激情一区二区| 日本一区二区三级电影在线观看 | 亚洲国产精品精华液2区45| 91伊人久久大香线蕉| 天天综合网天天综合色| 国产欧美一区二区精品性色超碰| 91视视频在线观看入口直接观看www| 一区二区三区在线播| 精品久久免费看| 色综合久久久久久久久| 日本最新不卡在线| 亚洲三级久久久| 欧美成人vps| 色老汉av一区二区三区| 精品一区二区三区蜜桃| 亚洲激情第一区| 2023国产精品视频| 欧美日韩亚州综合| 国产99精品视频| 免费成人你懂的| 一区二区三区免费在线观看| 精品国产百合女同互慰| 色婷婷av一区二区三区之一色屋| 久久狠狠亚洲综合| 亚洲一区在线看| 国产欧美va欧美不卡在线| 91精品国产高清一区二区三区蜜臀 | 99视频国产精品| 精品一区二区三区在线播放视频| 亚洲免费在线观看视频| 久久综合一区二区| 欧美一区二区三区在线观看视频| av不卡免费电影| 国产精品综合视频| 免费人成黄页网站在线一区二区| 亚洲欧美日韩国产综合| 国产午夜三级一区二区三| 日韩一级大片在线| 欧美伊人久久久久久久久影院 | 国产一区二区在线电影| 视频在线观看一区| 一区二区三区精品视频在线| 国产精品人成在线观看免费| 久久亚洲精精品中文字幕早川悠里| 欧美精品色综合| 欧美午夜精品免费| 91一区二区三区在线观看| 国产成人aaaa| 国产专区综合网| 美女视频网站久久| 日韩高清电影一区| 亚洲国产美国国产综合一区二区| 亚洲啪啪综合av一区二区三区| 国产精品入口麻豆原神| 亚洲国产电影在线观看| 久久久午夜精品理论片中文字幕| 精品国产伦理网| 欧美大片国产精品| 日韩免费电影网站|