He mirado un poco en busca de un analizador matemático rápido en C o en Objective-C. Casi todas las bibliotecas que vi están escritas en C++, y realmente no quiero pasar por la molestia de conseguir eso. compilar. ¿Alguien puede hacer una recomendación?¿Qué es un analizador matemático rápido C o Objective-C?
Respuesta
no los he utilizado yo mismo, pero usted podría intentar GCMathParser y DDMathParser.
+1 para DDMathParser! hoorah! (Aunque si vas por la velocidad cruda, es casi imposible vencer a GCMathParser) –
@Dave: sabía sobre el analizador de Graham, pero de alguna manera había extrañado el tuyo. Estructura fascinante con el uso de bloques. Parece que el uso de NSNumber, con la generación frecuente de instancias autorreleasadas, puede desacelerar un poco las cosas. Parece que es posible usar tipos de punto flotante simple para los cálculos, que pueden ser mucho más rápidos. –
@radio Sí, hay mucho que se puede hacer para optimizarlo; mi objetivo era la extensión y la legibilidad, no necesariamente la eficiencia. :) Además, está usando 'NSDecimal' para cálculos (mucha más precisión que un tipo de punto flotante). –
No habrá ninguna molestia con la compilación, ObjC puede trabajar al lado de cualquier clase de C++. Buscar ObjC++ aquí, es realmente bastante fácil (su básicamente sólo el cambio de nombre de todo, desde * .m a .mm *)
Ver mi biblioteca ae (que utiliza Lua) y libmatheval.
Um ... está etiquetado "Objective-C" y "iPhone" ... –
@Dave: también está etiquetado C. – lhf
Hay un Code Project donde se trató este problema. Tenga en cuenta que esto es para C++: lo siento, solo vi que está buscando C/Objective-C. A medida que construye una biblioteca, puede escribir una interfaz simple y exponerla a C. Hay un explanation here realmente sucinto de cómo hacer esto.
- 1. PHP: ¿es más rápido el analizador JSON o XML?
- 2. ¿Qué es un buen analizador de CSS C/C++?
- 3. ¿qué es más rápido: recrear o borrar()?
- 4. escribiendo un analizador rápido en python
- 5. Algoritmo matemático más rápido sacrificando la precisión
- 6. ¿Qué es más rápido, XPath o Regexp?
- 7. ¿Qué es más rápido? Comparación o asignación?
- 8. escribe o imprime, ¿qué es más rápido?
- 9. ¿Qué es más rápido, INSTR o LIKE?
- 10. ¿Qué es más rápido: Union o Concat?
- 11. ¿Qué es más rápido EN O?
- 12. ¿Qué es más rápido: JDBC o JNDI?
- 13. Python - ¿Qué es más rápido para analizar Json o XML?
- 14. ¿Qué es más rápido? Struct array o DataTable
- 15. ¿Qué es un analizador re-entrante?
- 16. ¿Quién es más rápido: PEG o GLR?
- 17. ¿Qué tan rápido es un bloqueo indiscutible?
- 18. Expresar infinito matemático en C#
- 19. ¿Cuál es el analizador XML más rápido en PHP?
- 20. Analizador de XML rápido y liviano
- 21. cuando es Java más rápido que C++ (o cuando JIT es más rápido que precompilado)?
- 22. ¿Qué características debe tener un analizador C# /. NET?
- 23. ¿Qué tan rápido es Data.Array?
- 24. ¿Cuál es generalmente más rápido, un rendimiento o un apéndice?
- 25. OpenGL: ¿Qué es más rápido - GL_POLYGON o GL_TRIANGLE_FAN?
- 26. ¿Qué es más rápido: Math.abs (value) o value * -1?
- 27. Double.TryParse o Convert.ToDouble - ¿Qué es más rápido y más seguro?
- 28. ¿qué es más rápido en iPhone? XML pList o JSON?
- 29. ¿Qué es más rápido: repetir estilos o repetir selectores?
- 30. ¿Qué es children() o find() más rápido en jQuery?
Pruebe [TinyExpr] (https://github.com/codeplea/tinyexpr). Está en un solo archivo de código fuente y encabezado. – 131
Solo quiero hacer un segundo ** TinyExpr **. Súper fácil de usar. – rileyk