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

여기서 V와 N은 mpz_class 변수입니다. 어떤 이유C++에서 ceil 사용 GMP

이 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()을 정수에 적용 할 필요는 없습니다. sqrt()에서 부동 소수점 결과를 얻으려면 mpf_class를 사용해야하고 ceil()은 작동해야하지만 mpf_class를 반환해야합니다.