--- capa/capa51/pProj/capaParser.h 2000/06/30 21:36:16 1.7 +++ capa/capa51/pProj/capaParser.h 2004/03/26 20:02:03 1.12 @@ -2,19 +2,25 @@ Copyright (C) 1992-2000 Michigan State University The CAPA system is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as + modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The CAPA system is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU General Public License along with the CAPA system; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + Boston, MA 02111-1307, USA. + + As a special exception, you have permission to link this program + with the TtH/TtM library and distribute executables, as long as you + follow the requirements of the GNU GPL in regard to all of the + software in the executable aside from TtH/TtM. +*/ /* <==================================================================> */ /* by Isaac Tsai @ 1994 */ @@ -133,6 +139,7 @@ typedef struct _argNode { #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 SIXTH_SYMBOLP(aaa) ( (((((aaa->a_next)->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 ) @@ -158,7 +165,11 @@ typedef struct _argNode { #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) - +#define SIXTH_ARGTYPE(aaa) ( SIXTH_SYMBOLP(aaa)->s_type) +#define SIXTH_ARGNAME(aaa) ( SIXTH_SYMBOLP(aaa)->s_name ) +#define SIXTH_ARGINT(aaa) ( SIXTH_SYMBOLP(aaa)->s_int) +#define SIXTH_ARGREAL(aaa) ( SIXTH_SYMBOLP(aaa)->s_real) +#define SIXTH_ARGSTR(aaa) ( SIXTH_SYMBOLP(aaa)->s_str) @@ -417,8 +428,11 @@ typedef struct _answer_info { #define SUB_RECORDED 10 #define BAD_FORMULA 11 #define WANTED_NUMERIC 12 - - +#define UNIT_INVALID_INSTRUCTOR 13 +#define UNIT_INVALID_STUDENT1 141 +#define UNIT_INVALID_STUDENT2 142 +#define UNIT_INVALID_STUDENT3 143 +#define UNIT_IRRECONCIBLE 15 /* =============================================================== */ @@ -454,9 +468,9 @@ typedef struct _answer_info { /* NORMAL_DIS gennor() */ /* POISSON_DIS long ignpoi(float mu) */ -#define RANDOM_G 1L -#define PERMUTATION_G 2L -#define PIN_G 3L +#define RANDOM_G 1L +#define PERMUTATION_G 2L +#define PIN_G 3L #define NORMAL_DIS 10 #define POISSON_DIS 11 @@ -466,12 +480,13 @@ typedef struct _answer_info { #define CHI_DIS 15 #define NONCENTRAL_CHI_DIS 16 #define FORMULA_PICK_POINTS 17 +#define MULTIVARIATE_NORMAL_DIS 18 -#define GET_GENERATOR 0L -#define SET_GENERATOR 1L +#define GET_GENERATOR 0L +#define SET_GENERATOR 1L -#define FORWARD_MAP 0 -#define REVERSE_MAP 1 +#define FORWARD_MAP 0 +#define REVERSE_MAP 1 @@ -538,6 +553,7 @@ void start_question_over CAPA_ARG Symbol* get_array_symbol CAPA_ARG((Symbol* name,Symbol* index,int free_symbols)); Symbol* build_array_list CAPA_ARG((Symbol* ar_name,int num_elem)); /*---------------------------------------------------- capaParserUtils.c */ +Symbol* negate CAPA_ARG((Symbol* symb)); void problem_default CAPA_ARG((Problem_t *p)); int comp_name CAPA_ARG((char *a,char *b)); int comp_namesymbol CAPA_ARG((char *a, Symbol *b)); @@ -568,7 +584,8 @@ Symbol *find_array_by_index CAPA_ARG int free_array CAPA_ARG((char *name_p)); Symbol *array_min_max CAPA_ARG((char *name_p,int min)); Symbol *array_moments CAPA_ARG((char *result_p,char *name_p)); - +Symbol *gen_multivariate_normal CAPA_ARG((char *output_p,char *seed,int +item_cnt,int dimen,char *m_vec_str,char *c_vec_str)); 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(());