--- capa/capa51/pProj/capaParser.h 2000/02/09 22:10:24 1.3 +++ capa/capa51/pProj/capaParser.h 2000/02/22 18:19:02 1.4 @@ -110,9 +110,11 @@ typedef struct _argNode { struct _argNode *a_prev; } ArgNode_t; -#define FIRST_SYMBOLP(aaa) (aaa->a_sp) +#define FIRST_SYMBOLP(aaa) (aaa->a_sp) #define SECOND_SYMBOLP(aaa) ( (aaa->a_next)->a_sp ) #define THIRD_SYMBOLP(aaa) ( ((aaa->a_next)->a_next)->a_sp ) +#define FOURTH_SYMBOLP(aaa) ( (((aaa->a_next)->a_next)->a_next)->a_sp ) +#define FIFTH_SYMBOLP(aaa) ( ((((aaa->a_next)->a_next)->a_next)->a_next)->a_sp ) #define FIRST_ARGNAME(aaa) ( FIRST_SYMBOLP(aaa)->s_name ) #define FIRST_ARGTYPE(aaa) ( FIRST_SYMBOLP(aaa)->s_type ) #define FIRST_ARGINT(aaa) ( FIRST_SYMBOLP(aaa)->s_int ) @@ -123,10 +125,21 @@ typedef struct _argNode { #define SECOND_ARGINT(aaa) ( SECOND_SYMBOLP(aaa)->s_int) #define SECOND_ARGREAL(aaa) ( SECOND_SYMBOLP(aaa)->s_real) #define SECOND_ARGSTR(aaa) ( SECOND_SYMBOLP(aaa)->s_str) +#define THIRD_ARGNAME(aaa) ( THIRD_SYMBOLP(aaa)->s_name ) #define THIRD_ARGTYPE(aaa) ( THIRD_SYMBOLP(aaa)->s_type) #define THIRD_ARGINT(aaa) ( THIRD_SYMBOLP(aaa)->s_int) #define THIRD_ARGREAL(aaa) ( THIRD_SYMBOLP(aaa)->s_real) #define THIRD_ARGSTR(aaa) ( THIRD_SYMBOLP(aaa)->s_str) +#define FOURTH_ARGTYPE(aaa) ( FOURTH_SYMBOLP(aaa)->s_type) +#define FOURTH_ARGNAME(aaa) ( FOURTH_SYMBOLP(aaa)->s_name ) +#define FOURTH_ARGINT(aaa) ( FOURTH_SYMBOLP(aaa)->s_int) +#define FOURTH_ARGREAL(aaa) ( FOURTH_SYMBOLP(aaa)->s_real) +#define FOURTH_ARGSTR(aaa) ( FOURTH_SYMBOLP(aaa)->s_str) +#define FIFTH_ARGTYPE(aaa) ( FIFTH_SYMBOLP(aaa)->s_type) +#define FIFTH_ARGNAME(aaa) ( FIFTH_SYMBOLP(aaa)->s_name ) +#define FIFTH_ARGINT(aaa) ( FIFTH_SYMBOLP(aaa)->s_int) +#define FIFTH_ARGREAL(aaa) ( FIFTH_SYMBOLP(aaa)->s_real) +#define FIFTH_ARGSTR(aaa) ( FIFTH_SYMBOLP(aaa)->s_str) @@ -408,11 +421,27 @@ typedef struct _answer_info { /* ================================================================ */ /********************** for random(), /MAP(), capa_PIN() */ +/* BETA_DIS is used for genbet() */ +/* CHI_DIS is for genchi() */ +/* EXPONENTIAL_DIS genexp() */ +/* GAMMA_DIS gengam() */ +/* MULTI_NORM_DIS genmn() */ +/* NONCEN_CHI_DIS gennch() */ +/* NORMAL_DIS gennor() */ +/* POISSON_DIS long ignpoi(float mu) */ #define RANDOM_G 1L #define PERMUTATION_G 2L #define PIN_G 3L +#define NORMAL_DIS 10 +#define POISSON_DIS 11 +#define EXPONENTIAL_DIS 12 +#define BETA_DIS 13 +#define GAMMA_DIS 14 +#define CHI_DIS 15 +#define NONCENTRAL_CHI_DIS 16 + #define GET_GENERATOR 0L #define SET_GENERATOR 1L @@ -515,7 +544,7 @@ int free_array CAPA_ARG Symbol *array_min_max CAPA_ARG((char *name_p,int min)); Symbol *array_moments CAPA_ARG((char *result_p,char *name_p)); - +Symbol *gen_random_by_selector CAPA_ARG((char *output_p,int sel,char *seed,int item_cnt,float p1,float p2)); int setup_formula_id CAPA_ARG((char *v_str, char *pt_str)); void free_formula_tree CAPA_ARG(());