0

我可以从GMP 官方文档中看到:

无效 mpn_copyi (mp_limb_t *rp, const mp_limb_t *s1p, mp_size_t n)

越来越多地从 {s1p, n} 复制到 {rp, n}。

无效 mpn_copyd (mp_limb_t *rp, const mp_limb_t *s1p, mp_size_t n)

从 {s1p, n} 复制到 {rp, n},递减。

但是,我不明白在这种情况下越来越多越来越少的意思。是否越来越意味着它将所有肢体从 0 复制到 n?

谢谢

4

1 回答 1

1

使用,Teabee。

void
mpn_copyi (mp_ptr rp, mp_srcptr up, mp_size_t n)
{
  mp_size_t i;

  up += n;
  rp += n;
  for (i = -n; i != 0; i++)
    rp[i] = up[i];
}

并递减:

void
mpn_copyd (mp_ptr rp, mp_srcptr up, mp_size_t n)
{
  mp_size_t i;

  for (i = n - 1; i >= 0; i--)
    rp[i] = up[i];
}
于 2012-04-23T08:44:55.747 回答