GMP kütüphanesinde uygulanan herhangi bir logaritma fonksiyonu var mı?Herhangi bir GMP logaritma fonksiyonu var mı?
7
A
cevap
3
Hayır, GMP'de böyle bir işlev yok. Sadece MPFR'de. Ben bunu uygulamak, bunlarla nasıl sormadı biliyorum
5
...
Sen logaritma özelliklerini kullanarak kaba bir tane uygulayabilirsiniz: http://gnumbers.blogspot.com.au/2011/10/logarithm-of-large-number-it-is-not.html
Ve GMP kütüphanesinin iç görün: https://gmplib.org/manual/Integer-Internals.html
İşte Rationals için benim uygulamam. İşte
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
öyle: https://github.com/linas/anant
gnu mp reel ve kompleks logaritma, exp, sinüs, kosinüs, gama, arctan, sqrt polylogarithm Riemann ve Hurwitz zeta, birleşik hipergeometrik, sinüs topologists Sağlar ve Daha.
İlgili konular
- 1. Scala kimlik fonksiyonu var mı?
- 2. Elixir'de bir kimlik fonksiyonu var mı?
- 3. Kayıt fonksiyonu yapmak için zaten var mı?
- 4. iOS'ta Android'in herhangi bir karşılığı var mı?
- 5. Moodle için herhangi bir API var mı?
- 6. Herhangi bir ücretsiz php tarayıcı var mı?
- 7. "Vurgulu" kodun herhangi bir yolu var mı?
- 8. Herhangi bir guava genel görünümü var mı?
- 9. Herhangi bir ccTalk kütüphanesi var mı?
- 10. Herhangi bir Clojure DSL var mı?
- 11. Herhangi bir FACEBOX alt türü var mı?
- 12. Herhangi bir standart silme functor var mı?
- 13. Tomcat'e herhangi bir IIS eşdeğeri var mı?
- 14. PLINQ'in herhangi bir faydası var mı?
- 15. Herhangi bir IPMI simülatörü var mı?
- 16. Herhangi bir sprite koleksiyonunu bilen var mı?
- 17. Çevresinde herhangi bir ScalaConsole var mı?
- 18. Herhangi bir getNLMultibutton kitaplığı var mı?
- 19. Herhangi bir python OpenID sunucusu var mı?
- 20. GC.disable'ın herhangi bir performans dezavantajı var mı?
- 21. Herhangi bir İşleme programı profiler var mı?
- 22. C++ gmp ve homebrew
- 23. Bağımsız programlarda GMP kullanımı
- 24. UWP Webview'de herhangi bir özgeçmiş fonksiyonu yok
- 25. Sınıf içinde otomatik olarak tanımlanan bir arkadaş fonksiyonu var mı?
- 26. SQL toplama fonksiyonu hesaplaması için bir standart var mı?
- 27. Haskell kütüphanesinde bir yerde tamsayılaştırma fonksiyonu var mı?
- 28. Sunucu ile ".sync" öğreten herhangi bir Backbone.js öğreticisi var mı?
- 29. Java ME'de logaritma nasıl hesaplanır?
- 30. aşağıda fonksiyonu var SML