Graphic Calculator: FIDocalcus
Проект трёх первокурсников (по инженерному практикуму в первом семестре) по созданию графического калькулятора на FLTK C++
|
Математическая функция More...
#include <function.h>
Public Member Functions | |
function ()=default | |
function (const function &) | |
function (std::string _func_str) | |
Инициализирует новый экземпляр function. | |
~function ()=default | |
std::string | get_func_str () const |
Возвращает значение мат. функции в виде строки | |
bool | has_var () const |
double | operator() (double x) const |
: Значение мат. функции | |
function & | operator= (const function &) |
Public Attributes | |
const std::function< double(double)> | calculate |
Значение мат. функции | |
const std::function< double(double)> | differentiate |
Значение производной мат. функции | |
Private Member Functions | |
double | calc (double x) const |
Значение мат. функции | |
void | func_lexs_validation () const |
Проверяет вектор лексем от мат. функции на валидность | |
void | func_str_validation () const |
Проверяет мат. функцию в виде строки, на валидность | |
std::vector< std::string > | lexemes () const |
std::vector< std::string > | reverse_polish () const |
Private Attributes | |
std::string | func_str |
Мат. функция в виде строки | |
std::vector< std::string > | lexs |
Вектор лексем от мат. функции | |
std::vector< std::string > | rev_pol |
Вектор лексем, записанный в обратной польской нотации | |
Математическая функция
|
default |
Math_func::function::function | ( | std::string | _func_str | ) |
Инициализирует новый экземпляр function.
_func_str | строка, представляющая собой мат. функцию |
Math_func::function::function | ( | const function & | func | ) |
|
default |
|
private |
Значение мат. функции
x |
Стек, куда складываем уже посчитанные числа
Последний символ в стеке
Предпоследний символ в стеке (последний после удаления l)
Символ, обозначающий текущую лексему в обратной польской записи
|
private |
Проверяет вектор лексем от мат. функции на валидность
Правильное использование элементарной мат. функций (типа exp, sin, ln), отсутствие лишних переменных
std::invalid_argument | в том случае, если ввод инвалиден |
Вектор, со всеми разреш. лекс., обозначающими элем. мат. функции
Символ, обозначающий текущую лексему
Символ, обозначающий следующую лексему
|
private |
Проверяет мат. функцию в виде строки, на валидность
Правильное кол-во скобок, отсутствие лишних символов, правильное использование знаков, точек, цифр)
std::invalid_argument | в том случае, если ввод инвалиден |
Строка со всеми разрешенными символами
Строка с разрешенными мат. операциями
Счетчик незакрытых скобочек
Текущий символ
Предыдущий символ
Следующий символ
Строка с почти всеми символами, которые могут быть возле цифры
Левый (предыдущий) символ валиден
Правый (следующий) символ валиден
|
inline |
Возвращает значение мат. функции в виде строки
bool Math_func::function::has_var | ( | ) | const |
|
private |
Текущая лексема
Текущий символ строки
|
inline |
: Значение мат. функции
x |
|
private |
Вектор, куда записывается итоговая обратная польская запись
Стек с записанными операциями
Символ, обозначающий текущую лексему
Символ, обозначающий последний элемент в стеке с операциями
const std::function<double(double)> Math_func::function::calculate |
const std::function<double(double)> Math_func::function::differentiate |
Значение производной мат. функции
|
private |
Мат. функция в виде строки
|
private |
Вектор лексем от мат. функции
|
private |
Вектор лексем, записанный в обратной польской нотации