Если этот расчет происходит во внутреннем цикле, вам нужна высокая производительность, вы не можете использовать языки сценариев.Исходя из того, насколько «разворачиваемым» и насколько независимым от платформы вы хотели бы, чтобы это было:
1) Вы можете выразить уравнения в C ++ и позволить g ++ скомпилировать их для вас во время выполнения, и вы можете сослаться нарезультирующий общий объект.Но этот метод очень сильно зависит от платформы на каждом шагу!Необходимые системные вызовы, используемый компилятор, флаги, загрузка общего объекта (или DLL) ... В конце концов, это будет очень быстро, особенно если вы скомпилируете самый внутренний цикл с помощью уравнения.Уравнение будет встроено и все.
2) Вы можете использовать Java таким же образом.Вы можете получить хороший java-компилятор в java (я думаю, из Eclipse, но вы можете легко его встроить).При таком решении результат будет немного медленнее (в зависимости от того, сколько магии шаблонов вы хотите), как я ожидаю, в 2 раза для большинства целей.Но это решение чрезвычайно портативно.Как только вы запустите его, нет никаких причин, по которым оно нигде не должно работать, вам не нужно ничего внешнего для вашей программы.Еще одним недостатком является необходимость писать уравнения в синтаксисе Java, что уродливо для сложной математики.Первое решение намного лучше в этом отношении, так как перегрузка операторов очень помогает в математических уравнениях.
3) Я немного знаю о C #, но может быть решение, подобное (2).Если есть, я знаю, что в C # есть перегрузка операторов, поэтому ваши уравнения было бы более приятным для написания и просмотра.