bn_mp_set_int.c

来自「tommath库」· C语言 代码 · 共 45 行

C
45
字号
#include <tommath.h>#ifdef BN_MP_SET_INT_C/* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is a library that provides multiple-precision * integer arithmetic as well as number theoretic functionality. * * The library was designed directly after the MPI library by * Michael Fromberger but has been written from scratch with * additional optimizations in place. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org *//* set a 32-bit const */int mp_set_int (mp_int * a, unsigned long b){  int     x, res;  mp_zero (a);    /* set four bits at a time */  for (x = 0; x < 8; x++) {    /* shift the number up four bits */    if ((res = mp_mul_2d (a, 4, a)) != MP_OKAY) {      return res;    }    /* OR in the top four bits of the source */    a->dp[0] |= (b >> 28) & 15;    /* shift the source up to the next four bits */    b <<= 4;    /* ensure that digits are not clamped off */    a->used += 1;  }  mp_clamp (a);  return MP_OKAY;}#endif

⌨️ 快捷键说明

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