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

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

?? memcmp.c

?? Intercom 是一個 Unix系統上靈活的語音傳輸軟件。支持標準音頻壓縮比如GSM, G.711, and G.72x和其他音頻編碼。Intercom專為高速網絡設計來傳輸高品質的語音
?? C
字號:
/* Copyright (C) 1991, 1993, 1995, 1997, 1998 Free Software Foundation, Inc.   This file is part of the GNU C Library.   Contributed by Torbjorn Granlund (tege@sics.se).   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  */#ifdef HAVE_CONFIG_H# include "config.h"#endif#undef	__ptr_t#if defined __cplusplus || (defined __STDC__ && __STDC__)# define __ptr_t	void *#else /* Not C++ or ANSI C.  */# undef	const# define const# define __ptr_t	char *#endif /* C++ or ANSI C.  */#ifndef __P# if defined __GNUC__ || (defined __STDC__ && __STDC__)#  define __P(args) args# else#  define __P(args) ()# endif  /* GCC.  */#endif  /* Not __P.  */#if defined HAVE_STRING_H || defined _LIBC# include <string.h>#endif#undef memcmp#ifdef _LIBC# include <memcopy.h># include <endian.h># if __BYTE_ORDER == __BIG_ENDIAN#  define WORDS_BIGENDIAN# endif#else	/* Not in the GNU C library.  */# include <sys/types.h>/* Type to use for aligned memory operations.   This should normally be the biggest type supported by a single load   and store.  Must be an unsigned type.  */# define op_t	unsigned long int# define OPSIZ	(sizeof(op_t))/* Threshold value for when to enter the unrolled loops.  */# define OP_T_THRES	16/* Type to use for unaligned operations.  */typedef unsigned char byte;# ifndef WORDS_BIGENDIAN#  define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2)))# else#  define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2)))# endif#endif	/* In the GNU C library.  */#ifdef WORDS_BIGENDIAN# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1)#else# define CMP_LT_OR_GT(a, b) memcmp_bytes ((a), (b))#endif/* BE VERY CAREFUL IF YOU CHANGE THIS CODE!  *//* The strategy of this memcmp is:   1. Compare bytes until one of the block pointers is aligned.   2. Compare using memcmp_common_alignment or      memcmp_not_common_alignment, regarding the alignment of the other      block after the initial byte operations.  The maximum number of      full words (of type op_t) are compared in this way.   3. Compare the few remaining bytes.  */#ifndef WORDS_BIGENDIAN/* memcmp_bytes -- Compare A and B bytewise in the byte order of the machine.   A and B are known to be different.   This is needed only on little-endian machines.  */static int memcmp_bytes __P((op_t, op_t));# ifdef  __GNUC____inline# endifstatic intmemcmp_bytes (a, b)     op_t a, b;{  long int srcp1 = (long int) &a;  long int srcp2 = (long int) &b;  op_t a0, b0;  do    {      a0 = ((byte *) srcp1)[0];      b0 = ((byte *) srcp2)[0];      srcp1 += 1;      srcp2 += 1;    }  while (a0 == b0);  return a0 - b0;}#endifstatic int memcmp_common_alignment __P((long, long, size_t));/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t'   objects (not LEN bytes!).  Both SRCP1 and SRCP2 should be aligned for   memory operations on `op_t's.  */#ifdef	__GNUC____inline#endifstatic intmemcmp_common_alignment (srcp1, srcp2, len)     long int srcp1;     long int srcp2;     size_t len;{  op_t a0, a1;  op_t b0, b1;  switch (len % 4)    {    default: /* Avoid warning about uninitialized local variables.  */    case 2:      a0 = ((op_t *) srcp1)[0];      b0 = ((op_t *) srcp2)[0];      srcp1 -= 2 * OPSIZ;      srcp2 -= 2 * OPSIZ;      len += 2;      goto do1;    case 3:      a1 = ((op_t *) srcp1)[0];      b1 = ((op_t *) srcp2)[0];      srcp1 -= OPSIZ;      srcp2 -= OPSIZ;      len += 1;      goto do2;    case 0:      if (OP_T_THRES <= 3 * OPSIZ && len == 0)	return 0;      a0 = ((op_t *) srcp1)[0];      b0 = ((op_t *) srcp2)[0];      goto do3;    case 1:      a1 = ((op_t *) srcp1)[0];      b1 = ((op_t *) srcp2)[0];      srcp1 += OPSIZ;      srcp2 += OPSIZ;      len -= 1;      if (OP_T_THRES <= 3 * OPSIZ && len == 0)	goto do0;      /* Fall through.  */    }  do    {      a0 = ((op_t *) srcp1)[0];      b0 = ((op_t *) srcp2)[0];      if (a1 != b1)	return CMP_LT_OR_GT (a1, b1);    do3:      a1 = ((op_t *) srcp1)[1];      b1 = ((op_t *) srcp2)[1];      if (a0 != b0)	return CMP_LT_OR_GT (a0, b0);    do2:      a0 = ((op_t *) srcp1)[2];      b0 = ((op_t *) srcp2)[2];      if (a1 != b1)	return CMP_LT_OR_GT (a1, b1);    do1:      a1 = ((op_t *) srcp1)[3];      b1 = ((op_t *) srcp2)[3];      if (a0 != b0)	return CMP_LT_OR_GT (a0, b0);      srcp1 += 4 * OPSIZ;      srcp2 += 4 * OPSIZ;      len -= 4;    }  while (len != 0);  /* This is the right position for do0.  Please don't move     it into the loop.  */ do0:  if (a1 != b1)    return CMP_LT_OR_GT (a1, b1);  return 0;}static int memcmp_not_common_alignment __P((long, long, size_t));/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN   `op_t' objects (not LEN bytes!).  SRCP2 should be aligned for memory   operations on `op_t', but SRCP1 *should be unaligned*.  */#ifdef	__GNUC____inline#endifstatic intmemcmp_not_common_alignment (srcp1, srcp2, len)     long int srcp1;     long int srcp2;     size_t len;{  op_t a0, a1, a2, a3;  op_t b0, b1, b2, b3;  op_t x;  int shl, shr;  /* Calculate how to shift a word read at the memory operation     aligned srcp1 to make it aligned for comparison.  */  shl = 8 * (srcp1 % OPSIZ);  shr = 8 * OPSIZ - shl;  /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t'     it points in the middle of.  */  srcp1 &= -OPSIZ;  switch (len % 4)    {    default: /* Avoid warning about uninitialized local variables.  */    case 2:      a1 = ((op_t *) srcp1)[0];      a2 = ((op_t *) srcp1)[1];      b2 = ((op_t *) srcp2)[0];      srcp1 -= 1 * OPSIZ;      srcp2 -= 2 * OPSIZ;      len += 2;      goto do1;    case 3:      a0 = ((op_t *) srcp1)[0];      a1 = ((op_t *) srcp1)[1];      b1 = ((op_t *) srcp2)[0];      srcp2 -= 1 * OPSIZ;      len += 1;      goto do2;    case 0:      if (OP_T_THRES <= 3 * OPSIZ && len == 0)	return 0;      a3 = ((op_t *) srcp1)[0];      a0 = ((op_t *) srcp1)[1];      b0 = ((op_t *) srcp2)[0];      srcp1 += 1 * OPSIZ;      goto do3;    case 1:      a2 = ((op_t *) srcp1)[0];      a3 = ((op_t *) srcp1)[1];      b3 = ((op_t *) srcp2)[0];      srcp1 += 2 * OPSIZ;      srcp2 += 1 * OPSIZ;      len -= 1;      if (OP_T_THRES <= 3 * OPSIZ && len == 0)	goto do0;      /* Fall through.  */    }  do    {      a0 = ((op_t *) srcp1)[0];      b0 = ((op_t *) srcp2)[0];      x = MERGE(a2, shl, a3, shr);      if (x != b3)	return CMP_LT_OR_GT (x, b3);    do3:      a1 = ((op_t *) srcp1)[1];      b1 = ((op_t *) srcp2)[1];      x = MERGE(a3, shl, a0, shr);      if (x != b0)	return CMP_LT_OR_GT (x, b0);    do2:      a2 = ((op_t *) srcp1)[2];      b2 = ((op_t *) srcp2)[2];      x = MERGE(a0, shl, a1, shr);      if (x != b1)	return CMP_LT_OR_GT (x, b1);    do1:      a3 = ((op_t *) srcp1)[3];      b3 = ((op_t *) srcp2)[3];      x = MERGE(a1, shl, a2, shr);      if (x != b2)	return CMP_LT_OR_GT (x, b2);      srcp1 += 4 * OPSIZ;      srcp2 += 4 * OPSIZ;      len -= 4;    }  while (len != 0);  /* This is the right position for do0.  Please don't move     it into the loop.  */ do0:  x = MERGE(a2, shl, a3, shr);  if (x != b3)    return CMP_LT_OR_GT (x, b3);  return 0;}intmemcmp (s1, s2, len)     const __ptr_t s1;     const __ptr_t s2;     size_t len;{  op_t a0;  op_t b0;  long int srcp1 = (long int) s1;  long int srcp2 = (long int) s2;  op_t res;  if (len >= OP_T_THRES)    {      /* There are at least some bytes to compare.  No need to test	 for LEN == 0 in this alignment loop.  */      while (srcp2 % OPSIZ != 0)	{	  a0 = ((byte *) srcp1)[0];	  b0 = ((byte *) srcp2)[0];	  srcp1 += 1;	  srcp2 += 1;	  res = a0 - b0;	  if (res != 0)	    return res;	  len -= 1;	}      /* SRCP2 is now aligned for memory operations on `op_t'.	 SRCP1 alignment determines if we can do a simple,	 aligned compare or need to shuffle bits.  */      if (srcp1 % OPSIZ == 0)	res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ);      else	res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ);      if (res != 0)	return res;      /* Number of bytes remaining in the interval [0..OPSIZ-1].  */      srcp1 += len & -OPSIZ;      srcp2 += len & -OPSIZ;      len %= OPSIZ;    }  /* There are just a few bytes to compare.  Use byte memory operations.  */  while (len != 0)    {      a0 = ((byte *) srcp1)[0];      b0 = ((byte *) srcp2)[0];      srcp1 += 1;      srcp2 += 1;      res = a0 - b0;      if (res != 0)	return res;      len -= 1;    }  return 0;}#ifdef weak_alias# undef bcmpweak_alias (memcmp, bcmp)#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品的网站| 亚洲人吸女人奶水| 91高清在线观看| 成人av资源在线观看| 国产精品69久久久久水密桃| 日韩av中文字幕一区二区三区| 一区二区三区加勒比av| 一区二区三区精品在线| 亚洲永久免费av| 亚洲高清免费观看高清完整版在线观看| 亚洲人成网站色在线观看| 最新国产成人在线观看| 一区二区三区四区中文字幕| 亚洲国产视频a| 午夜精品成人在线视频| 日本欧美一区二区三区乱码| 久久99精品久久久久久| 高清av一区二区| 91亚洲精品久久久蜜桃网站| 欧美中文字幕一二三区视频| 欧美色区777第一页| 337p亚洲精品色噜噜| 欧美成人一区二区三区在线观看 | 久久国产精品免费| 久久99国产精品久久99果冻传媒| 国产伦精一区二区三区| 成人av免费网站| 在线看不卡av| 精品国产123| 中文文精品字幕一区二区| 亚洲精品国久久99热| 日韩专区中文字幕一区二区| 狠狠色狠狠色综合| 色噜噜狠狠成人网p站| 欧美一区二区三区视频在线| 国产日韩影视精品| 亚洲成人综合在线| 国产精品1024| 欧美福利视频导航| 欧美激情中文字幕| 日韩精品成人一区二区在线| 成人性生交大片免费看在线播放| 色狠狠综合天天综合综合| 欧美mv日韩mv国产| 亚洲精品免费在线观看| 972aa.com艺术欧美| 欧美挠脚心视频网站| 亚洲国产高清aⅴ视频| 日产欧产美韩系列久久99| 国产成人a级片| 91精品久久久久久久91蜜桃| 中文字幕亚洲成人| 国内久久精品视频| 欧美精品日韩精品| 亚洲精选视频在线| 丁香激情综合国产| 欧美成人女星排名| 天堂一区二区在线| 欧美自拍偷拍一区| 国产精品高潮久久久久无| 久久99久久99精品免视看婷婷| 91黄色免费看| 国产精品久久久久精k8| 国产在线观看一区二区| 91精品国产色综合久久| 亚洲最色的网站| 91麻豆自制传媒国产之光| 国产欧美日韩在线| 捆绑调教一区二区三区| 欧美浪妇xxxx高跟鞋交| 亚洲综合色成人| 91毛片在线观看| 亚洲免费观看高清| av欧美精品.com| 中文字幕av一区 二区| 国产精品一区二区男女羞羞无遮挡| 欧美一区二区三区四区视频| 亚洲第一电影网| 欧美日韩高清一区| 亚洲成人免费电影| 欧美人妇做爰xxxⅹ性高电影 | 一区二区免费在线播放| av成人免费在线| 中文字幕在线播放不卡一区| gogogo免费视频观看亚洲一| 国产精品女上位| www.亚洲色图.com| 亚洲精品免费电影| 欧美在线免费播放| 天天免费综合色| 日韩欧美一区在线| 国产毛片一区二区| 国产精品色婷婷久久58| 91麻豆免费视频| 亚洲香肠在线观看| 日韩久久精品一区| 国产丶欧美丶日本不卡视频| 国产精品理论在线观看| 欧美性感一类影片在线播放| 亚洲aaa精品| 久久久久久久久一| av电影在线不卡| 香蕉加勒比综合久久| 精品久久久久久久久久久久久久久久久| 狠狠色综合播放一区二区| 国产精品久久免费看| 欧美日韩一级二级三级| 国产一区二区三区四区五区美女| 亚洲欧洲三级电影| 欧美日本一区二区在线观看| 国产专区欧美精品| ...xxx性欧美| 日韩女优毛片在线| 91理论电影在线观看| 久久精品国产一区二区三区免费看| 国产日产亚洲精品系列| 欧美在线一二三四区| 国产一区不卡精品| 亚洲一区二区三区中文字幕| 日韩午夜av一区| 色激情天天射综合网| 国产一区 二区 三区一级| 亚洲国产成人va在线观看天堂| 久久婷婷成人综合色| 欧美性色aⅴ视频一区日韩精品| 国产中文一区二区三区| 亚洲国产日韩av| 国产精品久久午夜| 2017欧美狠狠色| 欧美日韩国产精品成人| 成人av在线网站| 激情综合一区二区三区| 亚洲成a人片在线观看中文| 中文字幕一区二区5566日韩| 日韩免费观看高清完整版| 欧美曰成人黄网| www.性欧美| 成人aaaa免费全部观看| 国模娜娜一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 亚洲日本护士毛茸茸| 欧美国产成人在线| 久久综合色天天久久综合图片| 欧美日韩不卡一区二区| 在线观看日韩电影| 99riav一区二区三区| www.一区二区| 99久久综合狠狠综合久久| 国产夫妻精品视频| 国产精品88av| 国产一区二区三区四区五区入口 | 成人av网址在线| 成人国产精品免费网站| 国产成人在线免费| 精品无码三级在线观看视频| 毛片不卡一区二区| 蜜桃视频第一区免费观看| 久久国产尿小便嘘嘘尿| 久久国产精品区| 国产一区二三区好的| 久久综合综合久久综合| 国产一区二区剧情av在线| 国产精品一二三四五| 国产69精品久久99不卡| 菠萝蜜视频在线观看一区| 99精品欧美一区二区蜜桃免费 | 欧美变态凌虐bdsm| 欧美成人国产一区二区| 精品对白一区国产伦| 久久久久久久久久久黄色| 国产偷v国产偷v亚洲高清| 中文在线资源观看网站视频免费不卡| 国产拍欧美日韩视频二区| 国产精品无遮挡| 亚洲精品亚洲人成人网 | 蜜桃久久久久久| 国产一区二区电影| 99riav一区二区三区| 欧美三级资源在线| 精品久久一二三区| 国产精品乱人伦| 亚洲国产视频直播| 久久成人18免费观看| 99国产精品久久久久| 欧美日韩国产bt| 欧美高清在线一区二区| 亚洲国产aⅴ成人精品无吗| 久久av中文字幕片| 色偷偷成人一区二区三区91 | 久久aⅴ国产欧美74aaa| 国产iv一区二区三区| 欧美在线观看一区| 久久午夜电影网| 亚洲最大成人综合| 国产一区二区主播在线| 91电影在线观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲最新视频在线观看| 国产乱码精品一区二区三区av | 欧美va亚洲va|