33 lines
741 B
C
33 lines
741 B
C
#ifndef MATH_FUNCTIONS_H
|
|
#define MATH_FUNCTIONS_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
#define MAX_MATH_FUNCTION_ARGS 2
|
|
|
|
/**
|
|
* @brief Ukazatel na vyhodnocovač matematické funkce
|
|
*/
|
|
typedef double (*math_function_ptr)(const double*);
|
|
|
|
/**
|
|
* @brief Matematická funkce
|
|
*
|
|
* Struktura popisující matematickou funkci, kterou lze použít ve vstupním výrazu
|
|
*/
|
|
struct math_function {
|
|
const char *name;
|
|
size_t num_args;
|
|
math_function_ptr ptr;
|
|
};
|
|
|
|
/**
|
|
* @brief Vrátí ukazatel na pole obsahující matematické funkce
|
|
*
|
|
* Toto pole je ukončené položkou s atributem name == NULL.
|
|
*
|
|
* @return Ukazatel na pole funkcí
|
|
*/
|
|
const struct math_function *fns_get(void);
|
|
|
|
#endif /* MATH_FUNCTIONS_H */ |