1 /***********************************************************************
2 |
3 |  FNAMES.H - Last Edited 6. 8. 1988
4 |
5 ***********************************************************************/
6 
7 /* matc.c  */
8 
9 char *doread( void );
10 VARIABLE *com_quit( void );
11 
12 /*
13  * $Id: fnames.h,v 1.2 2007/06/08 08:12:19 jpr Exp $
14  *
15  * $Log: fnames.h,v $
16  * Revision 1.2  2007/06/08 08:12:19  jpr
17  * *** empty log message ***
18  *
19  * Revision 1.1  2005/05/31 09:43:48  vierinen
20  * oops
21  *
22  * Revision 1.1.1.1  2005/04/14 13:29:14  vierinen
23  * initial matc automake package
24  *
25  * Revision 1.2  1998/08/01 12:34:37  jpr
26  *
27  * Added Id, started Log.
28  *
29  *
30  */
31 
32 void error( char *fmt, ... );
33 void sig_trap(int);
34 int dogets(char *, char *);
35 
36 void com_init( char *, int, int, VARIABLE *(*)(), int, int, char * );
37 void com_free( void ) ;
38 COMMAND *com_check(  char *);
39 VARIABLE *com_help( VARIABLE * );
40 VARIABLE *com_source( VARIABLE *);
41 VARIABLE *com_apply(  VARIABLE *);
42 VARIABLE *com_pointw(  double (*)(), VARIABLE *);
43 VARIABLE *com_el(  VARIABLE * );
44 
45 void mem_free(void *);
46 void mem_free_all(void);
47 void *mem_alloc(size_t);
48 
49 /* eval.c  */
50 
51 VARIABLE *evaltree(  TREE *);
52 VARIABLE *evaltreelist(  TREE *);
53 VARIABLE *evalclause(  CLAUSE *);
54 
55 VARIABLE *put_values( VARIABLE *, char *, VARIABLE *);
56 VARIABLE *put_result( VARIABLE *, char *, VARIABLE *, int, int);
57 
58 /* files.c */
59 
60 void fil_com_init(void);
61 VARIABLE *fil_fscanf( VARIABLE *);
62 VARIABLE *fil_fprintf( VARIABLE *);
63 VARIABLE *fil_fputs( VARIABLE *);
64 VARIABLE *fil_fopen( VARIABLE *);
65 VARIABLE *fil_freopen( VARIABLE *);
66 VARIABLE *fil_fclose( VARIABLE *);
67 VARIABLE *fil_save( VARIABLE *);
68 VARIABLE *fil_load( VARIABLE *);
69 
70 /* funcs.c  */
71 
72 FUNCTION *fnc_check( char *);
73 void fnc_free_entry( FUNCTION *);
74 VARIABLE *fnc_delete( VARIABLE *);
75 void fnc_free( void);
76 VARIABLE *fnc_exec( FUNCTION *, VARIABLE *);
77 void fnc_com_init( void);
78 
79 /* jacobi.c */
80 
81 VARIABLE *mtr_jacob();
82 int jacobi( double *, double *, double *, double *, double *, int, double);
83 
84 /* lists.c */
85 
86 void lst_addtail( int, LIST *);
87 void lst_addhead( int, LIST *);
88 void lst_add( int, LIST *);
89 void lst_unlink( int, LIST *);
90 void lst_free( int, LIST *);
91 LIST *lst_find( int, char *);
92 void lst_purge( int);
93 VARIABLE *lst_print( int);
94 
95 
96 /* matrix.c */
97 
98 void mtr_com_init( void);
99 
100 double func_abs( double);
101 VARIABLE *mtr_min( VARIABLE *);
102 VARIABLE *mtr_max( VARIABLE *);
103 VARIABLE *mtr_sum( VARIABLE *);
104 VARIABLE *mtr_trace( VARIABLE *);
105 VARIABLE *mtr_zeros( VARIABLE *);
106 VARIABLE *mtr_ones( VARIABLE *);
107 VARIABLE *mtr_rand( VARIABLE *);
108 VARIABLE *mtr_resize( VARIABLE *);
109 VARIABLE *mtr_vector( VARIABLE *);
110 VARIABLE *mtr_eye( VARIABLE *);
111 VARIABLE *mtr_size( VARIABLE *);
112 
113 VARIABLE *mtr_LUD( VARIABLE *);
114 VARIABLE *mtr_det( VARIABLE *);
115 VARIABLE *mtr_inv( VARIABLE *);
116 void LUDecomp( double *, int, int *);
117 
118 VARIABLE *mtr_eig( VARIABLE *);
119 VARIABLE *mtr_hesse( VARIABLE *);
120 void vbcalc( double *, double *, double *,int, int);
121 void hesse( double *, int, int);
122 void francis( double *, int, int);
123 
124 /* oper.c */
125 
126 MATRIX *mat_new( int, int, int);
127 MATRIX *mat_copy( MATRIX *);
128 void mat_free( MATRIX *);
129 MATRIX *opr_vector( MATRIX *, MATRIX * );
130 MATRIX *opr_resize( MATRIX *, MATRIX * );
131 MATRIX *opr_apply( MATRIX * );
132 MATRIX *opr_add( MATRIX *, MATRIX *);
133 MATRIX *opr_minus( MATRIX *);
134 MATRIX *opr_subs( MATRIX *, MATRIX *);
135 MATRIX *opr_mul( MATRIX *, MATRIX *);
136 MATRIX *opr_pmul( MATRIX *, MATRIX *);
137 MATRIX *opr_div( MATRIX *, MATRIX *);
138 MATRIX *opr_pow( MATRIX *, MATRIX *);
139 MATRIX *opr_trans( MATRIX *);
140 MATRIX *opr_reduction( MATRIX *, MATRIX *);
141 MATRIX *opr_lt( MATRIX *, MATRIX *);
142 MATRIX *opr_le( MATRIX *, MATRIX *);
143 MATRIX *opr_gt( MATRIX *, MATRIX *);
144 MATRIX *opr_ge( MATRIX *, MATRIX *);
145 MATRIX *opr_eq( MATRIX *, MATRIX *);
146 MATRIX *opr_neq( MATRIX *, MATRIX *);
147 MATRIX *opr_and( MATRIX *, MATRIX *);
148 MATRIX *opr_or( MATRIX *, MATRIX *);
149 MATRIX *opr_not( MATRIX *);
150 
151 
152 /* optimclause.c */
153 
154 TREE *optimtree( TREE *);
155 CLAUSE *optimclause( CLAUSE *);
156 
157 /* parser.c */
158 
159 int char_in_list( int, char *);
160 void scan(void);
161 TREE *newtree(void);
162 TREE *args( int, int);
163 TREE *nameorvar( void);
164 
165 TREE *par_trans(TREE *);
166 TREE *par_pow( TREE *);
167 TREE *par_timesdivide( TREE *);
168 TREE *par_plusminus(  TREE *);
169 TREE *par_compare( TREE *);
170 TREE *par_reduction( TREE *);
171 
172 TREE *equation( void);
173 CLAUSE *statement( void);
174 CLAUSE *blockparse( void);
175 CLAUSE *funcparse( void);
176 CLAUSE *ifparse( void);
177 CLAUSE *whileparse( void);
178 CLAUSE *parse( void);
179 
180 void free_treeentry( TREEENTRY *);
181 void free_tree( TREE *);
182 void free_clause( CLAUSE *);
183 
184 VARIABLE *doit( char *);
185 
186 /* printclause.c */
187 
188 void printtree( TREE *, FILE *);
189 void printtreelist( TREE *, FILE *);
190 int printclause( CLAUSE *, FILE *, int);
191 
192 /* urand.c */
193 
194 double urand( int *);
195 
196 
197 /* VARIABLE.c */
198 
199 void var_com_init( void);
200 
201 VARIABLE *var_check( char *);
202 VARIABLE *var_varlist( void);
203 void var_print( VARIABLE *);
204 
205 VARIABLE *var_temp_copy( VARIABLE *);
206 VARIABLE *var_temp_new( int, int, int);
207 void var_delete_temp( VARIABLE *);
208 void var_delete_temp_el( VARIABLE *);
209 
210 VARIABLE *const_new( char *, int, int, int);
211 void const_free( void);
212 VARIABLE *var_new( char *, int, int, int);
213 VARIABLE *var_rename( VARIABLE *, char *);
214 void var_free( void);
215 void var_free_el( VARIABLE *);
216 void var_delete( char *);
217 char *var_to_string( VARIABLE *);
218 
219 /* str.c */
220 void str_com_init();
221 VARIABLE *str_sprintf();
222 VARIABLE *str_sscanf();
223 VARIABLE *str_matcvt();
224 VARIABLE *str_cvtmat();
225 
226 /* gra.c */
227 void gra_init();
228 void gra_close_sys();
229 void gra_set_viewport();
230 void gra_set_window();
231 void gra_perspective();
232 void gra_error();
233 void gra_window_to_viewport();
234 void gra_translate();
235 void gra_rotate();
236 void gra_scale();
237 void gra_viewpoint();
238 void gra_getmatrix();
239 void gra_setmatrix();
240 void gra_dbuffer_null();
241 void gra_com_init(void);
242 void gra_init_matc(int devtype, char *name);
243 void gra_mtrans(double,double,double,double *,double *,double *);
244 
245 /* clip.c */
246 int clip_poly(int *,double *,double *);
247 int clip_line(int *,double *,double *);
248 
249 /* c3d.c */
250 VARIABLE *c3d_gc3d();
251 VARIABLE *c3d_gc3dlevels();
252 
253 /* dri/dri_ps.c */
254 
255 void gra_ps_open();
256 void gra_ps_close();
257 void gra_ps_clear();
258 void gra_ps_defcolor();
259 void gra_ps_color();
260 void gra_ps_polyline();
261 void gra_ps_draw();
262 void gra_ps_move();
263 void gra_ps_polymarker();
264 void gra_ps_marker();
265 void gra_ps_areafill();
266 void gra_ps_image();
267 void gra_ps_text();
268 void gra_ps_flush();
269 void gra_ps_reset();
270