2012-11-27 100 views
0
L=ceil((sqrt(v-4*N)-1)/4)-1 

其中V和N是mpz_class变量。在C++ GMP中使用ceil

出于某种原因,这将引发它开创了gmpxx.h并与

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

问题如何正确做这个小区的错误?

回答

0

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