Có chức năng lôgarít nào được thực hiện trong thư viện GMP không?Có chức năng logarit nào của GMP không?
7
A
Trả lời
3
Không có chức năng nào như vậy trong GMP. Chỉ trong MPFR.
5
Tôi biết bạn không hỏi làm thế nào để thực hiện nó, nhưng ...
Bạn có thể thực hiện một thô sử dụng các tính chất của logarit: http://gnumbers.blogspot.com.au/2011/10/logarithm-of-large-number-it-is-not.html
Và bên trong của thư viện GMP: https://gmplib.org/manual/Integer-Internals.html
Đây là triển khai của tôi cho Rational.
double LogE(mpq_t m_op)
{
// log(a/b) = log(a) - log(b)
// And if a is represented in base B as:
// a = a_N B^N + a_{N-1} B^{N-1} + ... + a_0
// => log(a) \approx log(a_N B^N)
// = log(a_N) + N log(B)
// where B is the base; ie: ULONG_MAX
static double logB = log(ULONG_MAX);
// Undefined logs (should probably return NAN in second case?)
if (mpz_get_ui(mpq_numref(m_op)) == 0 || mpz_sgn(mpq_numref(m_op)) < 0)
return -INFINITY;
// Log of numerator
double lognum = log(mpq_numref(m_op)->_mp_d[abs(mpq_numref(m_op)->_mp_size) - 1]);
lognum += (abs(mpq_numref(m_op)->_mp_size)-1) * logB;
// Subtract log of denominator, if it exists
if (abs(mpq_denref(m_op)->_mp_size) > 0)
{
lognum -= log(mpq_denref(m_op)->_mp_d[abs(mpq_denref(m_op)->_mp_size)-1]);
lognum -= (abs(mpq_denref(m_op)->_mp_size)-1) * logB;
}
return lognum;
}
1
Ở đây là: https://github.com/linas/anant
Cung cấp mp gnu thực và phức tạp logarit, exp, sin, cosin, gamma, arctan, sqrt, polylogarithm Riemann và Hurwitz zeta, confluent hypergeometric, nhà topo sin, và hơn.
Các vấn đề liên quan
- 1. Có chức năng nào trong Python không?
- 2. OCaml: Có chức năng nào có loại 'a ->' khác với chức năng nhận dạng không?
- 3. Chức năng của iPhone SDK Objective C có hỗ trợ các chức năng bên trong các chức năng không?
- 4. Có chức năng ngược lại của chức năng lát trong Ruby không?
- 5. Atlassian Stash có cung cấp chức năng của pastebin/GitHub như chức năng không?
- 6. Có chức năng nào tương đương với chức năng Oracle NVL trong Mysql không?
- 7. Chức năng ngẫu nhiên của Java có thể bằng không?
- 8. có chức năng R cho xtnbreg của Stata không?
- 9. Overhead của kế thừa C++ không có chức năng ảo
- 10. Có FFT sử dụng phân chia tần số logarit không?
- 11. Crossbrowser "inArray" chức năng (không có jQuery)
- 12. Chức năng setTimeout của Javascript không gọi
- 13. Có biến thể nào của min_element có chức năng chiếu không?
- 14. Chức năng giết có đồng bộ không?
- 15. có chức năng hợp nhất AutoMapper không?
- 16. Có chức năng tối đa numpy không?
- 17. Có chức năng băm tròn không?
- 18. Chức năng UITextField không có bàn phím
- 19. Có chức năng ngủ trong flex không?
- 20. Có nên đi theo chức năng của thành viên hoặc chức năng bạn bè khi chức năng được cho là thay đổi trạng thái của đối tượng không?
- 21. Có chức năng "Pos" nào để tìm byte không?
- 22. Có chức năng chuẩn Delphi nào để thoát HTML không?
- 23. Có loại chức năng nào trong Cython không?
- 24. Có chức năng lambda nào trong Scala không?
- 25. jQuery có chức năng không đồng bộ như thế nào?
- 26. không có chức năng "bình thường" nào trong java?
- 27. Có thể chức năng nào bị xóa không?
- 28. Delphi 2010 có chức năng LoadTextFromFile không?
- 29. Các chức năng/phương pháp lôgarit nào có sẵn trong mục tiêu-c/cacao-touch?
- 30. Chức năng không có loại ngầm