2012-11-27 85 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)。