Программа получает основное выражение и дополнительные объявления переменных, парсит их и на основе них строит вычислительный граф, значение корня которого затем высчитывается и выводится обратно.
Выражение:
sin(x) ^ 2 + cos(x) ^ 2
Переменные:
x = a + b
a = 13
b = sqrt(54)
Вычисленное значение:
1.000000
- ✅ Поддержка чисел в выражениях
- ❌ Расширение чисел до множества комплексных
- ✅ Поддержка математических констант в выражениях
- ✅ Число 'PI'
- ✅ Число Эйлера 'e'
- ✅ Поддержка бинарных операторов в выражениях
- ✅ ^ (возведение в степень)
- ✅ * (умножение)
- ✅ / (деление)
- ✅ + (сложение)
- ✅ - (вычитание)
- ✅ Поддержка своих переменных в выражениях
- ❌ Поддержка своих (custom) функций в выражениях
- ❌ Реализация контекста функции для хранения переменных текущей области видимости
- ❌ Реализация доступа к переменным более высоких контекстов (доступ к глобальной переменной, замыкание)
- ✅ Поддержка стандартного перечня функций в выражениях
- ✅ cos()
- ✅ sin()
- ✅ tg()
- ✅ ctg()
- ✅ log()
- ✅ ln()
- ✅ sqrt()
- ✅ pow()
- ✅ abs()
- ✅ exp()
- ❌ Поддержка функций для работы с комплексными числами
- ❌ real() (комплексные числа)
- ❌ imag() (комплексные числа)
- ❌ mag() (комплексные числа)
- ❌ phase() (комплексные числа)
- ❌ Вывод вычислительного графа в виде обратной польской нотации