gretl_func

gretl_func —

Synopsis




enum        FuncDataReq;
#define     NEEDS_TS
#define     NEEDS_QM
#define     NEEDS_PANEL
#define     NO_DATA_OK
#define     FN_NAMELEN
typedef     ufunc;
typedef     fnpkg;
typedef     fnargs;
struct      fnargs_;
int         n_free_functions                (void);
ufunc*      get_user_function_by_name       (const char *name);
const ufunc* get_user_function_by_index     (int idx);
int         fn_n_params                     (const ufunc *fun);
int         fn_param_type                   (const ufunc *fun,
                                             int i);
const char* fn_param_name                   (const ufunc *fun,
                                             int i);
double      fn_param_default                (const ufunc *fun,
                                             int i);
double      fn_param_minval                 (const ufunc *fun,
                                             int i);
double      fn_param_maxval                 (const ufunc *fun,
                                             int i);
int         fn_param_optional               (const ufunc *fun,
                                             int i);
int         user_func_get_return_type       (const ufunc *fun);
const char* user_function_name_by_index     (int i);
int         user_function_index_by_name     (const char *name);
void        function_names_init             (void);
const char* next_free_function_name         (void);
int         gretl_compiling_function        (void);
int         gretl_function_depth            (void);
int         repeating_function_exec         (void);
int         gretl_start_compiling_function  (const char *line,
                                             PRN *prn);
int         gretl_function_append_line      (const char *line);
int         gretl_is_user_function          (const char *line);
int         gretl_is_public_user_function   (const char *name);
int         gretl_get_user_function         (const char *line);
int         gretl_function_exec             (ufunc *u,
                                             fnargs *args,
                                             int rtype,
                                             double ***pZ,
                                             DATAINFO *pdinfo,
                                             void *ret,
                                             char **descrip,
                                             PRN *prn);
void        set_drop_function_vars          (int s);
const char* get_funcerr_message             (void);
int         gretl_function_set_info         (int i,
                                             const char *help);
int         gretl_function_get_info         (int i,
                                             const char *key,
                                             char const **value);
int         gretl_function_print_code       (int i,
                                             PRN *prn);
void        gretl_function_set_private      (int i,
                                             int priv);
int         write_function_package          (fnpkg *pkg,
                                             const char *fname,
                                             int pub,
                                             const int *privlist,
                                             const char *author,
                                             const char *version,
                                             const char *date,
                                             const char *descrip,
                                             FuncDataReq dreq,
                                             float minver);
int         function_package_get_info       (const char *fname,
                                             fnpkg **ppkg,
                                             int *pub,
                                             int **privlist,
                                             char **author,
                                             char **version,
                                             char **date,
                                             char **descrip,
                                             FuncDataReq *dreq,
                                             float *minver);
int         check_function_needs            (const DATAINFO *pdinfo,
                                             FuncDataReq dreq,
                                             float minver);
int         write_user_function_file        (const char *fname);
int         function_package_is_loaded      (const char *fname);
const char* function_package_description    (const char *fname);
int         read_session_functions_file     (const char *fname);
int         load_user_function_file         (const char *fname);
int         get_function_file_info          (const char *fname,
                                             PRN *prn,
                                             char **pname);
int         get_function_file_code          (const char *fname,
                                             PRN *prn,
                                             char **pname);
char*       get_function_file_header        (const char *fname,
                                             char **pver,
                                             int *err);
int         update_function_from_script     (const char *fname,
                                             int idx);
int         user_function_help              (const char *fnname,
                                             PRN *prn);
void        gretl_functions_cleanup         (void);

Description

Details

enum FuncDataReq

typedef enum {
    FN_NEEDS_TS = 1, /* function requires time-series data */
    FN_NEEDS_QM,     /* function requires quarterly or monthly data */
    FN_NEEDS_PANEL,  /* function requires panel data */
    FN_NODATA_OK     /* function does not require a dataset */
} FuncDataReq;


NEEDS_TS

#define NEEDS_TS    "needs-time-series-data"


NEEDS_QM

#define NEEDS_QM    "needs-qm-data"


NEEDS_PANEL

#define NEEDS_PANEL "needs-panel-data"


NO_DATA_OK

#define NO_DATA_OK  "no-data-ok"


FN_NAMELEN

#define FN_NAMELEN 32


ufunc

typedef struct ufunc_ ufunc;


fnpkg

typedef struct fnpkg_ fnpkg;


fnargs

typedef struct fnargs_ fnargs;


struct fnargs_

struct fnargs_ {
    char *types;
    int nx, nX, nM, nl;
    int nrefv, nrefm;
    int nnull;
    int nnames;
    double *x;
    double **X;
    gretl_matrix **M;
    char **lists;
    int *refv;
    user_matrix **refm;
    char **upnames;
};


n_free_functions ()

int         n_free_functions                (void);

Returns :

get_user_function_by_name ()

ufunc*      get_user_function_by_name       (const char *name);

name :
Returns :

get_user_function_by_index ()

const ufunc* get_user_function_by_index     (int idx);

idx :
Returns :

fn_n_params ()

int         fn_n_params                     (const ufunc *fun);

fun :
Returns :

fn_param_type ()

int         fn_param_type                   (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

fn_param_name ()

const char* fn_param_name                   (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

fn_param_default ()

double      fn_param_default                (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

fn_param_minval ()

double      fn_param_minval                 (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

fn_param_maxval ()

double      fn_param_maxval                 (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

fn_param_optional ()

int         fn_param_optional               (const ufunc *fun,
                                             int i);

fun :
i :
Returns :

user_func_get_return_type ()

int         user_func_get_return_type       (const ufunc *fun);

fun :
Returns :

user_function_name_by_index ()

const char* user_function_name_by_index     (int i);

i :
Returns :

user_function_index_by_name ()

int         user_function_index_by_name     (const char *name);

name :
Returns :

function_names_init ()

void        function_names_init             (void);


next_free_function_name ()

const char* next_free_function_name         (void);

Returns :

gretl_compiling_function ()

int         gretl_compiling_function        (void);

Returns :

gretl_function_depth ()

int         gretl_function_depth            (void);

Returns :

repeating_function_exec ()

int         repeating_function_exec         (void);

Returns :

gretl_start_compiling_function ()

int         gretl_start_compiling_function  (const char *line,
                                             PRN *prn);

line :
prn :
Returns :

gretl_function_append_line ()

int         gretl_function_append_line      (const char *line);

line :
Returns :

gretl_is_user_function ()

int         gretl_is_user_function          (const char *line);

line :
Returns :

gretl_is_public_user_function ()

int         gretl_is_public_user_function   (const char *name);

name :
Returns :

gretl_get_user_function ()

int         gretl_get_user_function         (const char *line);

line :
Returns :

gretl_function_exec ()

int         gretl_function_exec             (ufunc *u,
                                             fnargs *args,
                                             int rtype,
                                             double ***pZ,
                                             DATAINFO *pdinfo,
                                             void *ret,
                                             char **descrip,
                                             PRN *prn);

u :
args :
rtype :
pZ :
pdinfo :
ret :
descrip :
prn :
Returns :

set_drop_function_vars ()

void        set_drop_function_vars          (int s);

s :

get_funcerr_message ()

const char* get_funcerr_message             (void);

Returns :

gretl_function_set_info ()

int         gretl_function_set_info         (int i,
                                             const char *help);

i :
help :
Returns :

gretl_function_get_info ()

int         gretl_function_get_info         (int i,
                                             const char *key,
                                             char const **value);

i :
key :
value :
Returns :

gretl_function_print_code ()

int         gretl_function_print_code       (int i,
                                             PRN *prn);

i :
prn :
Returns :

gretl_function_set_private ()

void        gretl_function_set_private      (int i,
                                             int priv);

i :
priv :

write_function_package ()

int         write_function_package          (fnpkg *pkg,
                                             const char *fname,
                                             int pub,
                                             const int *privlist,
                                             const char *author,
                                             const char *version,
                                             const char *date,
                                             const char *descrip,
                                             FuncDataReq dreq,
                                             float minver);

pkg :
fname :
pub :
privlist :
author :
version :
date :
descrip :
dreq :
minver :
Returns :

function_package_get_info ()

int         function_package_get_info       (const char *fname,
                                             fnpkg **ppkg,
                                             int *pub,
                                             int **privlist,
                                             char **author,
                                             char **version,
                                             char **date,
                                             char **descrip,
                                             FuncDataReq *dreq,
                                             float *minver);

fname :
ppkg :
pub :
privlist :
author :
version :
date :
descrip :
dreq :
minver :
Returns :

check_function_needs ()

int         check_function_needs            (const DATAINFO *pdinfo,
                                             FuncDataReq dreq,
                                             float minver);

pdinfo :
dreq :
minver :
Returns :

write_user_function_file ()

int         write_user_function_file        (const char *fname);

fname :
Returns :

function_package_is_loaded ()

int         function_package_is_loaded      (const char *fname);

fname :
Returns :

function_package_description ()

const char* function_package_description    (const char *fname);

fname :
Returns :

read_session_functions_file ()

int         read_session_functions_file     (const char *fname);

fname :
Returns :

load_user_function_file ()

int         load_user_function_file         (const char *fname);

fname :
Returns :

get_function_file_info ()

int         get_function_file_info          (const char *fname,
                                             PRN *prn,
                                             char **pname);

fname :
prn :
pname :
Returns :

get_function_file_code ()

int         get_function_file_code          (const char *fname,
                                             PRN *prn,
                                             char **pname);

fname :
prn :
pname :
Returns :

get_function_file_header ()

char*       get_function_file_header        (const char *fname,
                                             char **pver,
                                             int *err);

fname :
pver :
err :
Returns :

update_function_from_script ()

int         update_function_from_script     (const char *fname,
                                             int idx);

fname :
idx :
Returns :

user_function_help ()

int         user_function_help              (const char *fnname,
                                             PRN *prn);

fnname :
prn :
Returns :

gretl_functions_cleanup ()

void        gretl_functions_cleanup         (void);