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

📄 gen_gmp_aux.c

📁 密码大家Shoup写的数论算法c语言实现
💻 C
字号:
#include <stdio.h>#include <NTL/config.h>#ifndef NTL_GMP_LIPint main(){   fprintf(stderr, "NTL_GMP_LIP flag not set\n");   return 0;}#else#include <gmp.h>#include <NTL/mach_desc.h>void print2k(FILE *f, long k, long bpl){   long m, l;   long first;   if (k <= 0) {      fprintf(f, "((double) 1.0)");      return;   }   m = bpl - 2;   first = 1;   fprintf(f, "(");   while (k > 0) {      if (k > m)         l = m;      else         l = k;      k = k - l;      if (first)         first = 0;      else         fprintf(f, "*");      fprintf(f, "((double)(1L<<%ld))", l);   }   fprintf(f, ")");}void Error(const char *s){   fprintf(stderr, "%s\n", s);   abort();}int main(){   long bpl;   long ntl_zz_nbits, ntl_wsp_nbits, ntl_sp_nbits;   fprintf(stderr, "NTL_GMP_LIP flag set\n");   bpl = NTL_BITS_PER_LONG;   if (sizeof(mp_limb_t) == sizeof(long))      ntl_zz_nbits = bpl;   else if (sizeof(mp_limb_t) == 2*sizeof(long))      ntl_zz_nbits = 2*bpl;   else      Error("sorry...this is a funny gmp");   if (sizeof(mp_size_t) != sizeof(long) &&       sizeof(mp_size_t) != sizeof(int))   Error("sorry...this is a funny gmp");   ntl_wsp_nbits = bpl - 2;   ntl_sp_nbits = NTL_NBITS_MAX;   if (sizeof(mp_size_t) < sizeof(long)) {      printf("#define NTL_SMALL_MP_SIZE_T\n");      fprintf(stderr, "setting NTL_SMALL_MP_SIZE_T\n");   }   fprintf(stderr, "NTL_ZZ_NBITS = %ld\n", ntl_zz_nbits);   fprintf(stderr, "NTL_WSP_NBITS = %ld\n", ntl_wsp_nbits);   fprintf(stderr, "NTL_SP_NBITS = %ld\n", ntl_sp_nbits);   printf("#define NTL_ZZ_NBITS (%ld)\n",  ntl_zz_nbits);   printf("#define NTL_ZZ_FRADIX ");   print2k(stdout, ntl_zz_nbits, bpl);   printf("\n");   return 0;}#endif

⌨️ 快捷键说明

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