SCalc
|
#include <functions.hh>
Public Types | |
typedef double(* | c_function_t) (double) |
The type of arguments it accepts. | |
Public Member Functions | |
CFunc (Session *s, const char *n, c_function_t func, FuncDef *derivat=NULL) | |
virtual double | evaluate (const double *vars, const double *args) |
The function doing the actual job... | |
void | set_derivative (FuncDef *d) |
virtual void | destroy_anonymous_derivatives () |
Delete the derivative if anonymous. | |
virtual FuncDef * | derivative (int nb) |
Gets the derivative. | |
![]() | |
FuncDef (Session *s, int nb) | |
virtual int | is_func_def () |
Yes, this is a function definition. | |
virtual std::string | pretty_print () |
Pretty printing of the result ? | |
int | register_self () |
Register the function to the session if it has a name. | |
int | nb_params () |
The number of params the function takes. | |
void | set_name (const char *name) |
std::string | name () |
virtual int | can_delete () |
![]() | |
ParserResult (Session *s) | |
Constructors/desctructors: | |
Session * | session () |
The SCalc::Session object used. More... | |
virtual int | is_expression () |
Is it a SCalc::Expression ? More... | |
Expression * | to_expression () |
Converts to SCalc::Expression. More... | |
virtual int | is_syntax_error () |
Is it a SCalc::SyntaxError ? More... | |
SyntaxError * | to_syntax_error () |
Converts to SCalc::SyntaxError. More... | |
FuncDef * | to_func_def () |
Converts to SCalc::FuncDef. More... | |
Protected Attributes | |
c_function_t | func |
The C function to be called. | |
FuncDef * | deriv |
![]() | |
int | _nb_params |
std::string | _name |
Additional Inherited Members | |
![]() | |
static void | register_common_functions (Session *sess) |
This function registers common functions to the given session. | |
A basic C function with one parameter
|
inline |
We can set the derivative later, as this can come in really useful...
References SCalc::FuncDef::destroy_anonymous_derivatives().
|
protected |
The derivative. A pointer to a function. If NULL, then the function has to take care to provide it when necessary (or fail) and to free it when it dies.