Ответ 1
JEval - хорошая альтернатива. Я отказался от Jep из-за того, что он стал коммерческим. Единственная проблема заключается в том, что JEval, кажется, немного неактивен на данный момент (последний выпуск в 2008 году).
Я разработчик Android и как часть своего следующего приложения мне нужно будет оценить большое количество пользовательских математических выражений и уравнений. Я ищу хорошую библиотеку java, которая легка и может оценивать математические выражения с использованием пользовательских переменных и констант, триггерных и экспоненциальных функций и т.д.
Я огляделся и Jep, кажется, популярен, но мне хотелось бы услышать больше предложений, особенно от людей, которые раньше использовали эти библиотеки.
JEval - хорошая альтернатива. Я отказался от Jep из-за того, что он стал коммерческим. Единственная проблема заключается в том, что JEval, кажется, немного неактивен на данный момент (последний выпуск в 2008 году).
Я написал простой, но способный Math Expression Evaluator, который является бесплатным и открытым исходным кодом. Главное преимущество - быть быстрым и крошечным - оба хороши с ручными устройствами. Если это соответствует вашим потребностям, вы можете его использовать.
MathEval math=new MathEval();
math.setVariable("Top", 5);
math.setVariable("Left", 20);
math.setVariable("Bottom",15);
math.setVariable("Right", 60);
System.out.println("Middle: "+math.evaluate("floor((Right+1-Left)/2)"));
Попробуйте https://code.google.com/p/expressionoasis/. Это расширяемая структура оценки выражений и будет соответствовать таким требованиям.
Это не соответствует моим начальным условиям, но я нашел замечательный парсер, написанный на С++. Я пытаюсь выяснить поддержку встроенного кода Android, чтобы узнать, могу ли я его использовать. Это именно то, что мне нужно.
Вот документация для проекта.
http://www.codeproject.com/KB/recipes/MathieuMathParser.aspx
Существует новый коммерческий инструмент formula4j, который может представлять интерес для некоторых.