【问题标题】:Using ceil in C++ GMP在 C++ GMP 中使用 ceil
【发布时间】:2012-11-27 23:28:38
【问题描述】:
 L=ceil((sqrt(v-4*N)-1)/4)-1

其中 V 和 N 是 mpz_class 变量。

由于某种原因,这会引发一个错误,打开 gmpxx.h 并出现问题

inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr<mpz_t, T> &expr)
{
  expr.eval(z);
}

我该如何正确处理这个 ceil?

【问题讨论】:

    标签: c++ gmp


    【解决方案1】:

    我不熟悉 C++ 接口,但我认为 mpz_class 变量的 sqrt() 将返回 mpz_class 结果。将 ceil() 应用于整数是没有意义的。您将需要使用 mpf_class 从 sqrt() 获取浮点结果,然后 ceil() 应该可以工作(但返回一个 mpf_class)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多