GMP 文档中的命名约定

Naming conventions in GMP documentation

目前我正在查看 GMP 库的文档,我在理解函数规范中列出的变量的命名约定时遇到了一些困难。

特别是 ropop 的使用让我很困惑。

这是列出导入和导出函数的页面,由于我对命名约定的混淆,我很难理解它们的作用。

https://gmplib.org/manual/Integer-Import-and-Export.html

能否解释一下变量的命名约定,以及函数的作用(希望我能更好地理解仅仅知道命名约定就可以提供)?

GMP 库的命名约定是 rop 表示 结果操作数 输出操作数 。而 op 是一个 输入操作数 。请注意,以这种方式,每个函数可能有多个 rop

GMP的API功能设计,rop总是放在之前op。关于其文档,§3.4 Variable Conventions:

GMP functions generally have output arguments before input arguments. This notation is by analogy with the assignment operator.

例如,要计算大整数的平方根,您可以使用原型声明函数:

void mpz_sqrt (mpz t rop, const mpz t op);

其中 rop 存储 sqrt(op) 的结果。