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

📄 gmp.h

📁 伯克利做的SFTP安全文件传输协议
💻 H
📖 第 1 页 / 共 2 页
字号:
void mpf_div_2exp _PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));void mpf_div_ui _PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));void mpf_dump _PROTO ((mpf_srcptr));int mpf_eq _PROTO ((mpf_srcptr, mpf_srcptr, unsigned long int));double mpf_get_d _PROTO ((mpf_srcptr));unsigned long int mpf_get_prec _PROTO ((mpf_srcptr));char *mpf_get_str _PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr));void mpf_init _PROTO ((mpf_ptr));void mpf_init2 _PROTO ((mpf_ptr, unsigned long int));#ifdef _GMP_H_HAVE_FILEsize_t mpf_inp_str _PROTO ((mpf_ptr, FILE *, int));#endifvoid mpf_init_set _PROTO ((mpf_ptr, mpf_srcptr));void mpf_init_set_d _PROTO ((mpf_ptr, double));void mpf_init_set_si _PROTO ((mpf_ptr, signed long int));int mpf_init_set_str _PROTO ((mpf_ptr, const char *, int));void mpf_init_set_ui _PROTO ((mpf_ptr, unsigned long int));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 _GMP_H_HAVE_FILEsize_t mpf_out_str _PROTO ((FILE *, int, size_t, mpf_srcptr));#endifvoid mpf_random2 _PROTO ((mpf_ptr, mp_size_t, mp_exp_t));void mpf_reldiff _PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));void mpf_set _PROTO ((mpf_ptr, mpf_srcptr));void mpf_set_d _PROTO ((mpf_ptr, double));void mpf_set_default_prec _PROTO ((unsigned long int));void mpf_set_prec _PROTO ((mpf_ptr, unsigned long int));void mpf_set_prec_raw _PROTO ((mpf_ptr, unsigned long int));void mpf_set_q _PROTO ((mpf_ptr, mpq_srcptr));void mpf_set_si _PROTO ((mpf_ptr, signed long int));int mpf_set_str _PROTO ((mpf_ptr, const char *, int));void mpf_set_ui _PROTO ((mpf_ptr, unsigned long int));void mpf_set_z _PROTO ((mpf_ptr, mpz_srcptr));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));void mpf_ui_sub _PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));#if defined (__cplusplus)}#endif/************ 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			__MPN(add)#define mpn_add_1		__MPN(add_1)#define mpn_add_n		__MPN(add_n)#define mpn_addmul_1		__MPN(addmul_1)#define mpn_bdivmod		__MPN(bdivmod)#define mpn_cmp			__MPN(cmp)#define mpn_divmod_1		__MPN(divmod_1)#define mpn_divrem		__MPN(divrem)#define mpn_divrem_1		__MPN(divrem_1)#define mpn_dump		__MPN(dump)#define mpn_gcd			__MPN(gcd)#define mpn_gcd_1		__MPN(gcd_1)#define mpn_gcdext		__MPN(gcdext)#define mpn_get_str		__MPN(get_str)#define mpn_hamdist		__MPN(hamdist)#define mpn_lshift		__MPN(lshift)#define mpn_mod_1		__MPN(mod_1)#define mpn_mul			__MPN(mul)#define mpn_mul_1		__MPN(mul_1)#define mpn_mul_n		__MPN(mul_n)#define mpn_perfect_square_p	__MPN(perfect_square_p)#define mpn_popcount		__MPN(popcount)#define mpn_preinv_mod_1	__MPN(preinv_mod_1)#define mpn_random2		__MPN(random2)#define mpn_rshift		__MPN(rshift)#define mpn_scan0		__MPN(scan0)#define mpn_scan1		__MPN(scan1)#define mpn_set_str		__MPN(set_str)#define mpn_sqrtrem		__MPN(sqrtrem)#define mpn_sub			__MPN(sub)#define mpn_sub_1		__MPN(sub_1)#define mpn_sub_n		__MPN(sub_n)#define mpn_submul_1		__MPN(submul_1)#define mpn_udiv_w_sdiv		__MPN(udiv_w_sdiv)#if defined (__cplusplus)extern "C" {#endifmp_limb_t mpn_add _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));mp_limb_t mpn_add_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));mp_limb_t mpn_add_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));mp_limb_t mpn_addmul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));mp_limb_t mpn_bdivmod _PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, unsigned long int));int mpn_cmp _PROTO ((mp_srcptr, mp_srcptr, mp_size_t));mp_limb_t mpn_divmod_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));mp_limb_t mpn_divrem _PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t));mp_limb_t mpn_divrem_1 _PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t));void mpn_dump _PROTO ((mp_srcptr, mp_size_t));mp_size_t mpn_gcd _PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t));mp_limb_t mpn_gcd_1 _PROTO ((mp_srcptr, mp_size_t, mp_limb_t));mp_size_t mpn_gcdext _PROTO ((mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t));size_t mpn_get_str _PROTO ((unsigned char *, int, mp_ptr, mp_size_t));unsigned long int mpn_hamdist _PROTO ((mp_srcptr, mp_srcptr, mp_size_t));mp_limb_t mpn_lshift _PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));mp_limb_t mpn_mod_1 _PROTO ((mp_srcptr, mp_size_t, mp_limb_t));mp_limb_t mpn_mul _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));mp_limb_t mpn_mul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));void mpn_mul_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));int mpn_perfect_square_p _PROTO ((mp_srcptr, mp_size_t));unsigned long int mpn_popcount _PROTO ((mp_srcptr, mp_size_t));mp_limb_t mpn_preinv_mod_1 _PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t));void mpn_random2 _PROTO ((mp_ptr, mp_size_t));mp_limb_t mpn_rshift _PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));unsigned long int mpn_scan0 _PROTO ((mp_srcptr, unsigned long int));unsigned long int mpn_scan1 _PROTO ((mp_srcptr, unsigned long int));mp_size_t mpn_set_str _PROTO ((mp_ptr, const unsigned char *, size_t, int));mp_size_t mpn_sqrtrem _PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t));mp_limb_t mpn_sub _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));mp_limb_t mpn_sub_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));mp_limb_t mpn_sub_n _PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));mp_limb_t mpn_submul_1 _PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));#if defined (__cplusplus)}#endif#if defined (__GNUC__) || defined (_FORCE_INLINES)_EXTERN_INLINE mp_limb_t#if defined (__STDC__) || defined (__cplusplus)mpn_add_1 (register mp_ptr res_ptr,	   register mp_srcptr s1_ptr,	   register mp_size_t s1_size,	   register mp_limb_t s2_limb)#elsempn_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_t s2_limb;#endif{  register mp_limb_t 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;}_EXTERN_INLINE mp_limb_t#if defined (__STDC__) || defined (__cplusplus)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)#elsempn_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_t 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;}_EXTERN_INLINE mp_limb_t#if defined (__STDC__) || defined (__cplusplus)mpn_sub_1 (register mp_ptr res_ptr,	   register mp_srcptr s1_ptr,	   register mp_size_t s1_size,	   register mp_limb_t s2_limb)#elsempn_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_t s2_limb;#endif{  register mp_limb_t 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;}_EXTERN_INLINE mp_limb_t#if defined (__STDC__) || defined (__cplusplus)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)#elsempn_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_t 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;}#endif /* __GNUC__ *//* Allow faster testing for negative, zero, and positive.  */#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0)#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0)#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0)/* Allow direct user access to numerator and denominator of a mpq_t object.  */#define mpq_numref(Q) (&((Q)->_mp_num))#define mpq_denref(Q) (&((Q)->_mp_den))/* When using GCC, optimize certain common comparisons.  */#if defined (__GNUC__)#define mpz_cmp_ui(Z,UI) \  (__builtin_constant_p (UI) && (UI) == 0				\   ? mpz_sgn (Z) : mpz_cmp_ui (Z,UI))#define mpz_cmp_si(Z,UI) \  (__builtin_constant_p (UI) && (UI) == 0 ? mpz_sgn (Z)			\   : __builtin_constant_p (UI) && (UI) > 0 ? mpz_cmp_ui (Z,UI)		\   : mpz_cmp_si (Z,UI))#define mpq_cmp_ui(Q,NUI,DUI) \  (__builtin_constant_p (NUI) && (NUI) == 0				\   ? mpq_sgn (Q) : mpq_cmp_ui (Q,NUI,DUI))#endif#define mpn_divmod(qp,np,nsize,dp,dsize) mpn_divrem (qp,0,np,nsize,dp,dsize)#if 0#define mpn_divmod_1(qp,np,nsize,dlimb) mpn_divrem_1 (qp,0,np,nsize,dlimb)#endif/* 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))/* Useful synonyms, but not quite compatible with GMP 1.  */#define mpz_div		mpz_fdiv_q#define mpz_divmod	mpz_fdiv_qr#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 mpz_div_2exp	mpz_fdiv_q_2exp#define mpz_mod_2exp	mpz_fdiv_r_2exp#define __GNU_MP_VERSION 2#define __GNU_MP_VERSION_MINOR 0#define __GMP_H__#endif /* __GMP_H__ */

⌨️ 快捷键说明

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