首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建mpfr数组?

如何创建mpfr数组?
EN

Stack Overflow用户
提问于 2020-05-07 12:08:59
回答 1查看 342关注 0票数 0

我在网上和文档上搜索了几个小时,但没有看到有人提到创建MPFR (GMP)对象的数组/列表。我使用的是C,而不是C++。我请你帮我,我只需要从数组和数组中获取和设置值,也许还有一次"malloc“。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 12:31:13

在这个GNU MPFR 4.0.2中,我发现:

这些对象的C数据类型是mpfr_t,内部定义为结构的一个单元素数组(因此,当作为参数传递给函数时,实际上传递的是指针),而mpfr_ptr是表示指向该结构的指针的C数据类型。

5.1初始化函数

在存储第一个值之前,必须对mpfr_t对象进行初始化。mpfr_init和mpfr_init2函数就是为此目的而使用的。

代码语言:javascript
复制
Function: void mpfr_init2 (mpfr_t x, mpfr_prec_t prec)

初始化x,将其精度设置为精确的prec位,并将其值设置为NaN。(警告:相应的强积金功能被初始化为零。) 通常,一个变量应该只初始化一次,或者至少在初始化之间使用mpfr_clear清除一次。若要更改已初始化的变量的精度,请使用mpfr_set_prec。精度prec必须是MPFR_PREC_MIN和MPFR_PREC_MAX之间的整数(否则行为是未定义的)。

代码语言:javascript
复制
Function: void mpfr_inits2 (mpfr_prec_t prec, mpfr_t x, ...)

初始化给定变量参数va_list的所有mpfr_t变量,将它们的精度设置为精确的prec位,并将它们的值设置为NaN。有关更多详细信息,请参阅mpfr_init2。假定va_list仅由mpfr_t类型(或等效的mpfr_ptr)组成。它从x开始,当它遇到空指针(其类型也必须是mpfr_ptr)时结束。

一个例子是:

代码语言:javascript
复制
{
  mpfr_t x, y;
  mpfr_init (x);                /* use default precision */
  mpfr_init2 (y, 256);          /* precision exactly 256 bits */
  …
  /* When the program is about to exit, do ... */
  mpfr_clear (x);
  mpfr_clear (y);
  mpfr_free_cache ();           /* free the cache for constants like pi */
}

希望它能帮到你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61657440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档