⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gmp.h

📁 一个C源代码分析器
💻 H
📖 第 1 页 / 共 2 页
字号:
void mpf_mul _PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));void mpf_mul_2exp _PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));void mpf_mul_ui _PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));void mpf_neg _PROTO ((mpf_ptr, mpf_srcptr));#ifdef FILEvoid mpf_out_str _PROTO ((mpf_ptr, int, size_t, FILE *));#endifvoid mpf_set _PROTO ((mpf_ptr, mpf_srcptr));void mpf_set_d _PROTO ((mpf_ptr, double));mp_size_t mpf_set_default_prec _PROTO ((mp_size_t));void mpf_set_si _PROTO ((mpf_ptr, long int));int mpf_set_str _PROTO ((mpf_ptr, const char *, int));void mpf_set_ui _PROTO ((mpf_ptr, unsigned long int));size_t mpf_size _PROTO ((mpf_srcptr));void mpf_sqrt _PROTO ((mpf_ptr, mpf_srcptr));void mpf_sqrt_ui _PROTO ((mpf_ptr, unsigned long int));void mpf_sub _PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));void mpf_sub_ui _PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));void mpf_ui_div _PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));/************ Low level positive-integer (i.e. N) routines.  ************//* This is ugly, but we need to make usr calls reach the prefixed function.  */#define mpn_add_n	__mpn_add_n#define mpn_sub_n	__mpn_sub_n#define mpn_mul_1	__mpn_mul_1#define mpn_addmul_1	__mpn_addmul_1#define mpn_submul_1	__mpn_submul_1#define mpn_lshift	__mpn_lshift#define mpn_rshift	__mpn_rshift#define mpn_sub		__mpn_sub#define mpn_add		__mpn_add#define mpn_normal_size	__mpn_normal_size#define mpn_cmp		__mpn_cmp#define mpn_add_1	__mpn_add_1#define mpn_sub_1	__mpn_sub_1#define mpn_mul_n	__mpn_mul_n#define mpn_mul		__mpn_mul#define mpn_divmod	__mpn_divmod#define mpn_divmod_1	__mpn_divmod_1#define mpn_mod_1	__mpn_mod_1#define mpn_sqrt	__mpn_sqrt#define mpn_next_bit_set __mpn_next_bit_set#define mpn_popcount	__mpn_popcount#define mpn_hamdist	__mpn_hamdist#define mpn_random2	__mpn_random2#define mpn_set_str	__mpn_set_str#define mpn_get_str	__mpn_get_str#define mpn_gcd_1	__mpn_gcd_1mp_limb __mpn_add_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));mp_limb __mpn_sub_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));mp_limb __mpn_mul _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));void __mpn_mul_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));mp_limb __mpn_mul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb));mp_limb __mpn_addmul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb));mp_limb __mpn_submul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb));mp_limb __mpn_divmod _PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t));mp_limb __mpn_divmod_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb));mp_limb __mpn_mod_1 _PROTO ((mp_srcptr, mp_size_t, mp_limb));mp_limb __mpn_lshift _PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));mp_limb __mpn_rshift _PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));mp_size_t __mpn_sqrt _PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t));int __mpn_cmp _PROTO ((mp_srcptr, mp_srcptr, mp_size_t));mp_size_t __mpn_next_bit_set _PROTO ((mp_srcptr, mp_size_t));mp_size_t __mpn_popcount _PROTO ((mp_srcptr, mp_size_t));mp_size_t __mpn_hamdist _PROTO ((mp_srcptr, mp_srcptr, mp_size_t));void __mpn_random2 _PROTO ((mp_ptr, mp_size_t));mp_size_t __mpn_set_str _PROTO ((mp_ptr, const unsigned char *, size_t, int));size_t __mpn_get_str _PROTO ((unsigned char *, int, mp_ptr, mp_size_t));mp_limb __mpn_gcd_1 _PROTO ((mp_srcptr, mp_size_t, mp_limb));static __gmp_inline mp_limb#if __STDC____mpn_add_1 (register mp_ptr res_ptr,	     register mp_srcptr s1_ptr,	     register mp_size_t s1_size,	     register mp_limb s2_limb)#else__mpn_add_1 (res_ptr, s1_ptr, s1_size, s2_limb)     register mp_ptr res_ptr;     register mp_srcptr s1_ptr;     register mp_size_t s1_size;     register mp_limb s2_limb;#endif{  register mp_limb x;  x = *s1_ptr++;  s2_limb = x + s2_limb;  *res_ptr++ = s2_limb;  if (s2_limb < x)    {      while (--s1_size != 0)	{	  x = *s1_ptr++ + 1;	  *res_ptr++ = x;	  if (x != 0)	    goto fin;	}      return 1;    } fin:  if (res_ptr != s1_ptr)    {      mp_size_t i;      for (i = 0; i < s1_size - 1; i++)	res_ptr[i] = s1_ptr[i];    }  return 0;}static __gmp_inline mp_limb#if __STDC____mpn_add (register mp_ptr res_ptr,	   register mp_srcptr s1_ptr,	   register mp_size_t s1_size,	   register mp_srcptr s2_ptr,	   register mp_size_t s2_size)#else__mpn_add (res_ptr, s1_ptr, s1_size, s2_ptr, s2_size)     register mp_ptr res_ptr;     register mp_srcptr s1_ptr;     register mp_size_t s1_size;     register mp_srcptr s2_ptr;     register mp_size_t s2_size;#endif{  mp_limb cy_limb = 0;  if (s2_size != 0)    cy_limb = __mpn_add_n (res_ptr, s1_ptr, s2_ptr, s2_size);  if (s1_size - s2_size != 0)    cy_limb =  __mpn_add_1 (res_ptr + s2_size,			    s1_ptr + s2_size,			    s1_size - s2_size,			    cy_limb);  return cy_limb;}static __gmp_inline mp_limb#if __STDC____mpn_sub_1 (register mp_ptr res_ptr,	     register mp_srcptr s1_ptr,	     register mp_size_t s1_size,	     register mp_limb s2_limb)#else__mpn_sub_1 (res_ptr, s1_ptr, s1_size, s2_limb)     register mp_ptr res_ptr;     register mp_srcptr s1_ptr;     register mp_size_t s1_size;     register mp_limb s2_limb;#endif{  register mp_limb x;  x = *s1_ptr++;  s2_limb = x - s2_limb;  *res_ptr++ = s2_limb;  if (s2_limb > x)    {      while (--s1_size != 0)	{	  x = *s1_ptr++;	  *res_ptr++ = x - 1;	  if (x != 0)	    goto fin;	}      return 1;    } fin:  if (res_ptr != s1_ptr)    {      mp_size_t i;      for (i = 0; i < s1_size - 1; i++)	res_ptr[i] = s1_ptr[i];    }  return 0;}static __gmp_inline mp_limb#if __STDC____mpn_sub (register mp_ptr res_ptr,	   register mp_srcptr s1_ptr,	   register mp_size_t s1_size,	   register mp_srcptr s2_ptr,	   register mp_size_t s2_size)#else__mpn_sub (res_ptr, s1_ptr, s1_size, s2_ptr, s2_size)     register mp_ptr res_ptr;     register mp_srcptr s1_ptr;     register mp_size_t s1_size;     register mp_srcptr s2_ptr;     register mp_size_t s2_size;#endif{  mp_limb cy_limb = 0;  if (s2_size != 0)    cy_limb = __mpn_sub_n (res_ptr, s1_ptr, s2_ptr, s2_size);  if (s1_size - s2_size != 0)    cy_limb =  __mpn_sub_1 (res_ptr + s2_size,			    s1_ptr + s2_size,			    s1_size - s2_size,			    cy_limb);  return cy_limb;}static __gmp_inline mp_size_t#if __STDC____mpn_normal_size (mp_srcptr ptr, mp_size_t size)#else__mpn_normal_size (ptr, size)     mp_srcptr ptr;     mp_size_t size;#endif{  while (size)    {      size--;      if (ptr[size] != 0)	return size + 1;    }  return 0;}/* Compatibility with GMP 1.  */#define mpz_mdiv	mpz_fdiv_q#define mpz_mdivmod	mpz_fdiv_qr#define mpz_mmod	mpz_fdiv_r#define mpz_mdiv_ui	mpz_fdiv_q_ui#define mpz_mdivmod_ui(q,r,n,d) \  ((r == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d))#define mpz_mmod_ui(r,n,d) \  ((r == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d))/* ??? Before release...#define mpz_div_2exp	mpz_fdiv_q_2exp#define mpz_mod_2exp	mpz_fdiv_r_2exp*//* Useful synonyms, but not quite compatible with GMP 1.  */#define mpz_div		mpz_fdiv_q#define mpz_divmod	mpz_fdiv_qr#define mpz_mod		mpz_fdiv_r#define mpz_div_ui	mpz_fdiv_q_ui#define mpz_divmod_ui	mpz_fdiv_qr_ui#define mpz_mod_ui	mpz_fdiv_r_ui#define __GNU_MP__ 2#define __GNU_MP_VERSION 2#define __GNU_MP_VERSION_MINOR -900 /* ??? */#define __GMP_H__#endif /* __GMP_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -