Я разрабатываю математический синтаксический анализатор, который способен оценивать String как '5+b*sqrt(c^2)'
. Я использую ANTLR для синтаксического анализа и делаю хороший прогресс. Теперь я упал над классом Java BigDecimal
и подумал: эй, почему бы не подумать о точности здесь.
Моя проблема в том, что Java API не предоставляет тригонометрические методы для BigDecimal
как java.lang.Math
. Знаете ли вы, есть ли хорошие математические библиотеки, такие как Apache Commons, которые справляются с этой проблемой?
Другие вопросы: как реализовать метод мощности, чтобы я мог рассчитать 4.9 ^ 1.4 с BigDecimal
s. Возможно ли это?
Также оценивается книжный запрос о численных вычислениях.