pb_copy.c
来自「多项式算法库,实现多项式算法,可以支持任意长度的多项式,主要用在密码学中,验证过」· C语言 代码 · 共 52 行
C
52 行
/* LibTomPoly, Polynomial Basis Math -- Tom St Denis * * LibTomPoly is a public domain library that provides * polynomial basis arithmetic support. It relies on * LibTomMath for large integer support. * * This library is free for all purposes without any * express guarantee that it works. * * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org */#include <tompoly.h>/* dest = src */ int pb_copy(pb_poly *src, pb_poly *dest){ int err, x; /* avoid trivial copies */ if (src == dest) { return MP_OKAY; } /* grow dest as required */ if (dest->alloc < src->used) { if ((err = pb_grow(dest, src->used)) != MP_OKAY) { return err; } } /* set the characteristic */ if ((err = mp_copy(&(src->characteristic), &(dest->characteristic))) != MP_OKAY) { return err; } /* copy digits */ for (x = 0; x < src->used; x++) { if ((err = mp_copy(&(src->terms[x]), &(dest->terms[x]))) != MP_OKAY) { return err; } } /* zero excess digits */ for (x = src->used; x < dest->used; x++) { mp_zero(&(dest->terms[x])); } dest->used = src->used; return MP_OKAY;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?