¿Hay alguna función de logaritmo implementada en la biblioteca GMP?¿Hay alguna función de logaritmo GMP?
7
A
Respuesta
3
No, no existe tal función en GMP. Solo en MPFR.
5
Sé que no pidió cómo ponerlo en práctica, pero ...
Se puede implementar un bruto utilizando las propiedades de los logaritmos: http://gnumbers.blogspot.com.au/2011/10/logarithm-of-large-number-it-is-not.html
Y la parte interna de la biblioteca GMP: https://gmplib.org/manual/Integer-Internals.html
Aquí está mi implementación para Rationals.
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
Aquí está: https://github.com/linas/anant
Proporciona mp GNU logaritmo real y complejo, exp, seno, coseno, gamma, arctan, sqrt, polilogaritmo Riemann y zeta Hurwitz, hipergeométrica confluente, topologists seno, y Más.
Cuestiones relacionadas
- 1. Función de logaritmo de una base entera arbitraria en C
- 2. Logaritmo inexacto en Python
- 3. ¿Hay alguna función de suspensión en flexión?
- 4. Crear GMP para iOS
- 5. hay alguna función como string.isnullorempty() en javascript
- 6. Algoritmo del logaritmo discreto
- 7. Calcular logaritmo discreto
- 8. Logaritmo con SSE o cambie a FPU?
- 9. ¿Hay alguna función de inserción de Excel para SUMPRODUCT IF?
- 10. Android NDK compilar librería GMP
- 11. Math :: errores GMP al instalar
- 12. ¿Hay alguna función de autocorrelación numpy con salida estandarizada?
- 13. ¿Hay alguna manera de "eliminar" una función virtual pura?
- 14. ¿Hay alguna manera de hacer una función atómica en C? .
- 15. En IDA Pro, ¿hay alguna manera de marcar una función?
- 16. ¿Hay alguna función de regresión lineal en SQL Server?
- 17. ¿Hay alguna forma de silenciar la función 'espera' en Matlab
- 18. Crear GMP en Windows de 64 bits
- 19. ¿Hay alguna función opencv como "cvHoughCircles()" para la detección cuadrada?
- 20. ¿Hay alguna función para truncar un doble en java?
- 21. ¿hay alguna función como php explotar en jquery?
- 22. ¿Hay alguna función que convierta HTML a texto sin formato?
- 23. ¿Hay alguna función en Perl similar a GetType() en C#?
- 24. ¿Hay alguna función como contiene desde Java para PHP?
- 25. ¿Hay alguna manera de obtener el nombre de la función dentro de una función de C++?
- 26. ¿Hay alguna manera de recuperar un nombre de función de PowerShell dentro de una función?
- 27. ¿Hay alguna función PHP nativa que arroje una Excepción incorporada?
- 28. ¿Hay alguna función "Pos" para encontrar los bytes?
- 29. ¿Hay alguna función para agregar espacio en PL/SQL
- 30. ¿Hay alguna alternativa para la función date_parse para php 5.1. *?