1 /* ---------------------------------------------------------------- 2 xldlas -- A Stastics Package 3 4 Copyright (C) 1996 Thor Sigvaldason 5 6 This file is read by all *.c sourcecode to get definitions and 7 global variables 8 9 ----------------------------------------------------------------*/ 10 11 /* 12 More or less standard include files 13 */ 14 15 #include <forms.h> /* You do have xforms installed don't you? */ 16 #include <stdlib.h> 17 #include <signal.h> 18 #include <time.h> 19 #include <math.h> 20 #include <unistd.h> 21 #include <stdio.h> 22 #include <string.h> 23 #include <sys/wait.h> 24 #include <assert.h> 25 26 #ifdef IN_MAIN 27 #define EXTERN 28 #else 29 #define EXTERN extern 30 #endif 31 32 /* 33 Some things you can only change at compile time 34 */ 35 36 #define XLDLAS_MAJOR 0 /* Current Major version number */ 37 #define XLDLAS_MINOR 85 /* Current Minor version number */ 38 #define XLDLAS_AUTHOR "Thor Sigvaldason" /* Please don't change (see License) */ 39 #define XLDLAS_DATE "May 12 1997" /* Roughly speaking */ 40 #define XLDLAS_EMAIL "thor@netcom.ca" /* Subject to change */ 41 #define XLDLAS_SITE1 "http://a42.com/~thor/xldlas/" 42 #define XLDLAS_SITE2 "ftp://sunsite.unc.edu/pub/Linux/X11/xapps/math/xldlas-X.Y-source.tgz" 43 #define XLDLAS_NUMB_BARS_MAX 50 44 #define XLDLAS_GA_MAXREAL 1000 45 #define XLDLAS_MAX_GA_CYCLES 50000 46 #define XLDLAS_MAX_GA_BITSIZE 100 47 #define XLDLAS_MAX_GA_POOLSIZE 256 48 #define XLDLAS_MAX_OFFSET 2000 /* Max Horizontal Scrolling Main Window */ 49 50 51 #define MAX_OBS 10000 /* Maximum Observations */ 52 #define MAX_VARS 100 /* Maximum Number of Variables */ 53 54 /* 55 If you need to handle larger data sets than this, then just 56 change the numbers above to suit your tastes (and recompile!). 57 */ 58 59 #ifndef TRUE 60 #define TRUE 1 /* Standard Logic Testing */ 61 #define FALSE 0 /* " " */ 62 #endif 63 #define TYPE_COLS 1 /* User supplied format for imports */ 64 #define TYPE_ROWS 2 /* " " */ 65 #define TINY 1.0e-20 /* Need this to calculate Gamma function*/ 66 #define MAXIT 100 /* Max iterations to calculate Gamma */ 67 #define EPS 3.0e-7 /* A very small number */ 68 #define FPMIN 1.0e-30 /* Smallest floating point value */ 69 70 71 72 #define DESC_LENGTH 256 /* Characters in a variable's descrip. */ 73 #define NAME_LENGTH 20 /* Characters in a variable's name */ 74 #define XLDLASMAX_INPUT 1024 /* Length of most strings */ 75 #define XLDLAS_MISSING -999999.0 /* Default value for missing observation*/ 76 #define QUICK_DROPPING FALSE /* TRUE is faster but less intuitive */ 77 78 79 80 /* 81 Lots of defaults which can be changed via .xldlasrc/preferences button 82 */ 83 84 #define XLDLAS_DEFAULT_KEY_BUTTON FALSE; 85 #define XLDLAS_DEFAULT_OVERWRITE_BUTTON TRUE; 86 #define XLDLAS_DEFAULT_NORMAL_BUTTON TRUE; 87 #define XLDLAS_DEFAULT_OUTPUT_FORMAT "postscript" 88 #define XLDLAS_DEFAULT_OUTPUT_OPTIONS "eps 'helvetica' 20" 89 #define XLDLAS_DEFAULT_HIST_BARS 9 90 #define XLDLAS_DEFAULT_GNUPLOT_GEOMETRY "300x240" 91 #define XLDLAS_DEFAULT_GA_CYCLES 500 92 #define XLDLAS_DEFAULT_NN_CYCLES 1000 93 #define XLDLAS_DEFAULT_NN_PICTEX FALSE 94 #define XLDLAS_DEFAULT_NN_HIDDEN 4 95 #define XLDLAS_DEFAULT_NN_LEARN 0.10 96 #define XLDLAS_DEFAULT_NN_ANNEALING FALSE 97 #define XLDLAS_DEFAULT_NN_SQUASH 3 98 #define XLDLAS_DEFAULT_GA_MUTATE 500 99 #define XLDLAS_DEFAULT_GA_MAXREAL 500 100 #define XLDLAS_DEFAULT_GA_BITSIZE 12 101 #define XLDLAS_DEFAULT_GA_POOLSIZE 100 102 #define XLDLAS_DEFAULT_GA_CROSS 200 103 #define XLDLAS_DEFAULT_GA_UPDATE 10 104 #define XLDLAS_DEFAULT_GA_SWAP 2 105 #define XLDLAS_DEFAULT_GA_PERTURBE 200 106 #define XLDLAS_DEFAULT_GA_TOLERANCE 0 107 #define XLDLAS_DEFAULT_PRINT_COMMAND "lpr" 108 #define XLDLAS_DEFAULT_TEX_COMMAND "tex" 109 #define XLDLAS_DEFAULT_DVIVIEW_COMMAND "xdvi -expert -s 5" 110 #define XLDLAS_DEFAULT_DVIPRINT_COMMAND "dvips" 111 #define XLDLAS_DEFAULT_TEX_PREAMBLE "\\input epsf \\input pictex" 112 #define XLDLAS_DEFAULT_TEX_GRAPHMACROL "\\midinsert\\centerline{\\epsfbox{" 113 #define XLDLAS_DEFAULT_TEX_GRAPHMACROR "}}\\endinsert" 114 #define XLDLAS_DEFAULT_ANOVA_TYPE 1 115 116 /* 117 Defines some Labels for Making Windows Sticky 118 */ 119 120 #define XLDLAS_NUMB_WINDOWS 14 121 #define XLDLAS_REGRESS 0 122 #define XLDLAS_GAFIT 1 123 #define XLDLAS_NNFIT 2 124 #define XLDLAS_ANOVA 3 125 #define XLDLAS_GRAPH 4 126 #define XLDLAS_PREFS 5 127 #define XLDLAS_INPUT 6 128 #define XLDLAS_GENERATE 7 129 #define XLDLAS_ABOUT 8 130 #define XLDLAS_HELP 9 131 #define XLDLAS_SIGN 10 132 #define XLDLAS_EQMEAN 11 133 #define XLDLAS_FILTER 12 134 #define XLDLAS_WATSON 13 135 136 137 138 139 /* 140 Used by tabular output to TeX to determine justification 141 */ 142 143 #define XLDLAS_JUST_CENTER 1 144 #define XLDLAS_JUST_LEFT 2 145 #define XLDLAS_JUST_RIGHT 3 146 147 /* 148 Below is the data structure for storing (vector of) variables 149 */ 150 151 struct vector_structure 152 { 153 char name[NAME_LENGTH]; 154 char description[DESC_LENGTH]; 155 int obs; 156 float *fmem_start; 157 }; 158 159 /* These are the possible errors that can be returned by the tips routines. */ 160 161 typedef enum { 162 TOOLTIPS_ERROR_NOERROR, /* There is no error. */ 163 TOOLTIPS_ERROR_NOTINITIALIZED, /* The tooltips system is not 164 initialized. */ 165 TOOLTIPS_ERROR_ALREADYINITIALIZED, /* The tooltips system is already 166 initialized. */ 167 TOOLTIPS_ERROR_ALREADYSUSPENDED, /* The tooltips system is already 168 suspended. */ 169 TOOLTIPS_ERROR_NOTSUSPENDED, /* The tooltips system is not currently 170 suspended. */ 171 TOOLTIPS_ERROR_ALREADYREGISTERED, /* The XForms object is already 172 registered with the tooltips system. */ 173 TOOLTIPS_ERROR_NOTREGISTERED, /* The XForms object is not registered 174 with the tooltips system. */ 175 TOOLTIPS_ERROR_NONEFROMFORM, /* No XForms objects from this form are 176 registered with the tooltips system. */ 177 TOOLTIPS_ERROR_BADJUSTIFICATION, /* This justification combination is 178 invalid. */ 179 TOOLTIPS_ERROR_NOTENOUGHMEMORY, /* There was a problem with memory 180 allocation. */ 181 TOOLTIPS_ERROR_NULLADDRESS, /* The pointer passed was a NULL 182 pointer. */ 183 TOOLTIPS_ERROR_UNKNOWNERROR /* This is an unknown error. */ 184 } TOOLTIPS_ERROR; 185 186 187 /* 188 A structure used by various data generation commands 189 */ 190 struct math_thingy 191 { 192 int operator; 193 int argument_type; 194 char float_argument[XLDLASMAX_INPUT]; 195 int variable_argument; 196 int variable_lag; 197 }; 198 199 EXTERN struct vector_structure data_matrix[MAX_VARS]; /*Data Attributes */ 200 EXTERN struct math_thingy math_construct; /* Math thingy */ 201 EXTERN float *fvector[MAX_VARS]; /*The actual data */ 202 EXTERN char data_matrix_description[DESC_LENGTH]; /*What data is it?*/ 203 204 EXTERN float ga_coefs[MAX_VARS][4]; 205 EXTERN float ga_powers[MAX_VARS][4]; 206 207 EXTERN int oktoquit, data_exists, gen_exists; 208 EXTERN int help_exists[11]; 209 EXTERN int quick_dropping; 210 EXTERN int real_drop; 211 EXTERN int log_on; 212 EXTERN int texlog_on; 213 EXTERN int htmllog_on; 214 EXTERN int log_verbose_on; 215 EXTERN int texlog_verbose_on; 216 EXTERN int htmllog_verbose_on; 217 EXTERN int anova_type; 218 EXTERN int balloon_help; 219 220 EXTERN int numb_variables; /*Vars in memory */ 221 222 EXTERN int import_type; 223 EXTERN int graph_window_open; 224 EXTERN int assume_sample; 225 226 EXTERN char help_location[XLDLASMAX_INPUT]; /*Where are help files? */ 227 EXTERN FILE *log_file; /*File pointer for log */ 228 EXTERN FILE *texlog_file; /*File pointer for tex log*/ 229 EXTERN FILE *htmllog_file; /*File pointer for htmllog*/ 230 EXTERN char log_name[XLDLASMAX_INPUT]; 231 EXTERN char texlog_name[XLDLASMAX_INPUT]; 232 EXTERN char htmllog_name[XLDLASMAX_INPUT]; 233 EXTERN int all_start; /*Start obser for loops */ 234 EXTERN int all_stop; /*End obser for loops */ 235 EXTERN float missing_value; /*Value of missing obs */ 236 EXTERN char line_of_output[XLDLASMAX_INPUT]; /*Used to display results */ 237 EXTERN char filtered_tex_string[XLDLASMAX_INPUT]; 238 EXTERN float working[MAX_OBS]; 239 EXTERN float working_two[MAX_OBS]; 240 EXTERN int worksize; 241 EXTERN int worksize_two; 242 EXTERN int gnuplot_pipe; 243 EXTERN FILE *gnuplot_datafile; 244 EXTERN char gnuplot_datafile_name[L_tmpnam]; 245 EXTERN pid_t gnuplot_pid; 246 EXTERN int graph_key_on; 247 EXTERN int graph_overwrite_on; 248 EXTERN int graph_normal_on; 249 EXTERN char graph_output_format[XLDLASMAX_INPUT]; 250 EXTERN char graph_output_options[XLDLASMAX_INPUT]; 251 EXTERN int point_style[MAX_VARS]; 252 EXTERN int line_style[MAX_VARS]; 253 EXTERN int temp_varnumber; 254 EXTERN int numb_bars; 255 EXTERN char gnuplot_geometry[XLDLASMAX_INPUT]; 256 extern char **environ; 257 EXTERN int main_offset; 258 259 EXTERN int ga_cycles; 260 EXTERN int nn_cycles; 261 EXTERN int nn_pictex; 262 EXTERN int nn_squash; 263 EXTERN int nn_hidden; 264 EXTERN int nn_annealing; 265 EXTERN float nn_learn; 266 EXTERN int ga_update; 267 EXTERN int ga_mutate; 268 EXTERN int ga_force; 269 EXTERN int ga_maxreal; 270 EXTERN int ga_bitsize; 271 EXTERN int ga_poolsize; 272 EXTERN int ga_swap; 273 EXTERN int ga_cross; 274 EXTERN int ga_perturbe; 275 EXTERN int ga_tolerance; 276 277 EXTERN int ga_cross_ok; 278 EXTERN int ga_mutate_ok; 279 EXTERN int ga_perturbe_ok; 280 EXTERN int ga_force; 281 282 EXTERN int general_abort; 283 EXTERN int pearls_of_wisdom; 284 EXTERN int main_font; 285 286 EXTERN char print_command[XLDLASMAX_INPUT]; 287 EXTERN char tex_command[XLDLASMAX_INPUT]; 288 EXTERN char dviview_command[XLDLASMAX_INPUT]; 289 EXTERN char dviprint_command[XLDLASMAX_INPUT]; 290 EXTERN char tex_preamble[XLDLASMAX_INPUT]; 291 EXTERN char tex_graphmacrol[XLDLASMAX_INPUT]; 292 EXTERN char tex_graphmacror[XLDLASMAX_INPUT]; 293 294 295 EXTERN void file_routines(FL_OBJECT *menu, long user_data); 296 EXTERN void data_routines(FL_OBJECT *menu, long user_data); 297 EXTERN void log_routines(FL_OBJECT *menu, long user_data); 298 EXTERN void graph_routines(FL_OBJECT *menu, long user_data); 299 EXTERN void analysis_routines(FL_OBJECT *menu, long user_data); 300 EXTERN void help_routines(FL_OBJECT *menu, long user_data); 301 302 /* 303 Variable to store window geometries 304 */ 305 306 EXTERN int window_geometry[XLDLAS_NUMB_WINDOWS][4]; 307 308 /* 309 Do we really need all these xforms objects as global variables? 310 Probably not (and _bad_ programming style), but is does make 311 life easier 312 */ 313 314 EXTERN FL_FORM *frontend; 315 EXTERN FL_FORM *about_window; 316 EXTERN FL_FORM *input_window; 317 EXTERN FL_FORM *help_window; 318 319 EXTERN FL_OBJECT *main_browser; 320 EXTERN FL_OBJECT *input_browser; 321 EXTERN FL_OBJECT *input_object; 322 EXTERN FL_OBJECT *status_browser; 323 EXTERN FL_OBJECT *help_browser; 324 325 EXTERN FL_OBJECT *file_menu; 326 EXTERN FL_OBJECT *data_menu; 327 EXTERN FL_OBJECT *log_menu; 328 EXTERN FL_OBJECT *graph_menu; 329 EXTERN FL_OBJECT *analysis_menu; 330 EXTERN FL_OBJECT *help_menu; 331 EXTERN FL_OBJECT *test_menu; 332 EXTERN FL_OBJECT *filter_menu; 333 334 EXTERN FL_OBJECT *load_button; 335 EXTERN FL_OBJECT *save_button; 336 EXTERN FL_OBJECT *describe_button; 337 EXTERN FL_OBJECT *plot_button; 338 EXTERN FL_OBJECT *regress_button; 339 EXTERN FL_OBJECT *preferences_button; 340 EXTERN FL_OBJECT *clear_button; 341 342 EXTERN FL_OBJECT *general_help_button; 343 EXTERN FL_OBJECT *file_help_button; 344 EXTERN FL_OBJECT *data_help_button; 345 EXTERN FL_OBJECT *log_help_button; 346 EXTERN FL_OBJECT *graph_help_button; 347 EXTERN FL_OBJECT *analysis_help_button; 348 EXTERN FL_OBJECT *license_help_button; 349 EXTERN FL_OBJECT *tutorial_help_button; 350 EXTERN FL_OBJECT *test_help_button; 351 EXTERN FL_OBJECT *filter_help_button; 352 EXTERN FL_OBJECT *horizontal_slider; 353 354 EXTERN FL_OBJECT *name_input; 355 EXTERN FL_OBJECT *desc_input; 356 357 EXTERN FL_FORM *variable_window; 358 EXTERN FL_OBJECT *variable_browser; 359 360 EXTERN FL_FORM *rename_window; 361 EXTERN FL_OBJECT *rename_browser; 362 363 EXTERN FL_FORM *summarize_window; 364 EXTERN FL_OBJECT *summarize_browser; 365 EXTERN FL_OBJECT *summarize_from_counter; 366 EXTERN FL_OBJECT *summarize_to_counter; 367 368 EXTERN FL_FORM *drop_window; 369 EXTERN FL_OBJECT *drop_browser; 370 EXTERN FL_OBJECT *drop_from_counter; 371 EXTERN FL_OBJECT *drop_to_counter; 372 373 EXTERN FL_FORM *list_window; 374 EXTERN FL_OBJECT *list_browser; 375 EXTERN FL_OBJECT *list_from_counter; 376 EXTERN FL_OBJECT *list_to_counter; 377 378 EXTERN FL_FORM *corr_window; 379 EXTERN FL_OBJECT *corr_browser; 380 EXTERN FL_OBJECT *corr_from_counter; 381 EXTERN FL_OBJECT *corr_to_counter; 382 383 EXTERN FL_FORM *regress_window; 384 EXTERN FL_OBJECT *regress1_browser; 385 EXTERN FL_OBJECT *regress2_browser; 386 EXTERN FL_OBJECT *regress_from_counter; 387 EXTERN FL_OBJECT *regress_to_counter; 388 389 EXTERN FL_FORM *graph_window; 390 EXTERN FL_OBJECT *xvar_browser; 391 EXTERN FL_OBJECT *yvar_browser; 392 EXTERN FL_OBJECT *choose_hist_button; 393 EXTERN FL_OBJECT *choose_plot_button; 394 EXTERN FL_OBJECT *graph_save_input; 395 EXTERN FL_OBJECT *graph_format_input; 396 EXTERN FL_OBJECT *graph_options_input; 397 EXTERN FL_OBJECT *graph_key_choice; 398 EXTERN FL_OBJECT *graph_title_input; 399 EXTERN FL_OBJECT *graph_xlabel_input; 400 EXTERN FL_OBJECT *graph_ylabel_input; 401 EXTERN FL_OBJECT *graph_from_counter; 402 EXTERN FL_OBJECT *graph_to_counter; 403 EXTERN FL_OBJECT *graph_bar_counter; 404 EXTERN FL_OBJECT *graph_key_button; 405 EXTERN FL_OBJECT *graph_normal_button; 406 EXTERN FL_OBJECT *graph_overwrite_button; 407 EXTERN FL_OBJECT *fit_variable_input; 408 EXTERN FL_OBJECT *fit_overwrite_button; 409 EXTERN FL_OBJECT *graph_xrange_auto_button; 410 EXTERN FL_OBJECT *graph_xrange_from_counter; 411 EXTERN FL_OBJECT *graph_xrange_to_counter; 412 EXTERN FL_OBJECT *graph_yrange_auto_button; 413 EXTERN FL_OBJECT *graph_yrange_from_counter; 414 EXTERN FL_OBJECT *graph_yrange_to_counter; 415 416 EXTERN FL_FORM *att_window; 417 EXTERN FL_OBJECT *att_point_counter; 418 EXTERN FL_OBJECT *att_line_counter; 419 420 EXTERN FL_FORM *ga_window; 421 EXTERN FL_OBJECT *ga_chart; 422 EXTERN FL_OBJECT *ga_from_counter; 423 EXTERN FL_OBJECT *ga_to_counter; 424 EXTERN FL_OBJECT *ga_cycles_counter; 425 EXTERN FL_OBJECT *ga_update_counter; 426 EXTERN FL_OBJECT *ga_mutate_counter; 427 EXTERN FL_OBJECT *ga_maxreal_counter; 428 EXTERN FL_OBJECT *ga_bitsize_counter; 429 EXTERN FL_OBJECT *ga_poolsize_counter; 430 EXTERN FL_OBJECT *ga_perturbe_counter; 431 EXTERN FL_OBJECT *ga_tolerance_counter; 432 EXTERN FL_OBJECT *ga_swap_counter; 433 EXTERN FL_OBJECT *ga_cross_counter; 434 EXTERN FL_OBJECT *ga_yvar_browser; 435 EXTERN FL_OBJECT *ga_xvars_browser; 436 EXTERN FL_OBJECT *ga_force_button; 437 EXTERN FL_OBJECT *ga_mutate_button; 438 EXTERN FL_OBJECT *ga_cross_button; 439 EXTERN FL_OBJECT *ga_perturbe_button; 440 EXTERN FL_OBJECT *ga_save_input; 441 EXTERN FL_OBJECT *ga_overwrite_button; 442 EXTERN FL_OBJECT *ga_go_button; 443 EXTERN FL_OBJECT *ga_stop_button; 444 EXTERN FL_OBJECT *ga_done_button; 445 446 EXTERN FL_FORM *log_window; 447 EXTERN FL_OBJECT *log_verbose_button; 448 EXTERN FL_OBJECT *log_on_button; 449 EXTERN FL_OBJECT *log_file_input; 450 EXTERN FL_OBJECT *log_view_button; 451 EXTERN FL_OBJECT *log_print_button; 452 EXTERN FL_OBJECT *log_done_button; 453 454 EXTERN FL_FORM *htmllog_window; 455 EXTERN FL_OBJECT *htmllog_verbose_button; 456 EXTERN FL_OBJECT *htmllog_on_button; 457 EXTERN FL_OBJECT *htmllog_file_input; 458 EXTERN FL_OBJECT *htmllog_view_button; 459 EXTERN FL_OBJECT *htmllog_done_button; 460 461 EXTERN FL_FORM *texlog_window; 462 EXTERN FL_OBJECT *texlog_verbose_button; 463 EXTERN FL_OBJECT *texlog_on_button; 464 EXTERN FL_OBJECT *texlog_file_input; 465 EXTERN FL_OBJECT *texlog_source_button; 466 EXTERN FL_OBJECT *texlog_dvi_button; 467 EXTERN FL_OBJECT *texlog_print_button; 468 EXTERN FL_OBJECT *texlog_done_button; 469 470 EXTERN FL_FORM *viewfile_window; 471 EXTERN FL_OBJECT *viewfile_browser; 472 473 EXTERN FL_FORM *abort_window; 474 EXTERN FL_OBJECT *general_abort_button; 475 476 EXTERN FL_FORM *prefs_window; 477 EXTERN FL_OBJECT *prefs_quick_dropping_button; 478 EXTERN FL_OBJECT *prefs_graph_key_on_button; 479 EXTERN FL_OBJECT *prefs_graph_overwrite_on_button; 480 EXTERN FL_OBJECT *prefs_graph_normal_on_button; 481 EXTERN FL_OBJECT *prefs_ga_cross_ok_button; 482 EXTERN FL_OBJECT *prefs_ga_mutate_ok_button; 483 EXTERN FL_OBJECT *prefs_ga_force_button; 484 EXTERN FL_OBJECT *prefs_ga_perturbe_ok_button; 485 EXTERN FL_OBJECT *prefs_pearls_of_wisdom_button; 486 EXTERN FL_OBJECT *prefs_numb_bars_counter; 487 EXTERN FL_OBJECT *prefs_ga_cycles_counter; 488 EXTERN FL_OBJECT *prefs_ga_update_counter; 489 EXTERN FL_OBJECT *prefs_ga_mutate_counter; 490 EXTERN FL_OBJECT *prefs_ga_maxreal_counter; 491 EXTERN FL_OBJECT *prefs_ga_bitsize_counter; 492 EXTERN FL_OBJECT *prefs_ga_poolsize_counter; 493 EXTERN FL_OBJECT *prefs_ga_swap_counter; 494 EXTERN FL_OBJECT *prefs_ga_cross_counter; 495 EXTERN FL_OBJECT *prefs_ga_perturbe_counter; 496 EXTERN FL_OBJECT *prefs_ga_tolerance_counter; 497 EXTERN FL_OBJECT *prefs_missing_value_input; 498 EXTERN FL_OBJECT *prefs_graph_output_format_input; 499 EXTERN FL_OBJECT *prefs_graph_output_options_input; 500 EXTERN FL_OBJECT *prefs_gnuplot_geometry_input; 501 EXTERN FL_OBJECT *prefs_print_command_input; 502 EXTERN FL_OBJECT *prefs_tex_command_input; 503 EXTERN FL_OBJECT *prefs_dviview_command_input; 504 EXTERN FL_OBJECT *prefs_dviprint_command_input; 505 EXTERN FL_OBJECT *prefs_tex_preamble_input; 506 EXTERN FL_OBJECT *prefs_tex_graphmacrol_input; 507 EXTERN FL_OBJECT *prefs_tex_graphmacror_input; 508 EXTERN FL_OBJECT *prefs_nnet_annealing_button; 509 EXTERN FL_OBJECT *prefs_nnet_pictex_button; 510 EXTERN FL_OBJECT *prefs_nn_learn_counter; 511 EXTERN FL_OBJECT *prefs_nn_cycles_counter; 512 EXTERN FL_OBJECT *prefs_balloon_help_button; 513 EXTERN FL_OBJECT *prefs_font_group; 514 EXTERN FL_OBJECT *prefs_font_small_button; 515 EXTERN FL_OBJECT *prefs_font_normal_button; 516 EXTERN FL_OBJECT *prefs_font_large_button; 517 EXTERN FL_OBJECT *prefs_assume_sample_button; 518 519 EXTERN FL_FORM *gen_window; 520 EXTERN FL_OBJECT *gen_data_browser; 521 EXTERN FL_OBJECT *gen_from_counter; 522 EXTERN FL_OBJECT *gen_to_counter; 523 EXTERN FL_OBJECT *gen_var_choice; 524 EXTERN FL_OBJECT *gen_name_input; 525 EXTERN FL_OBJECT *gen_desc_input; 526 EXTERN FL_OBJECT *gen_operator_browser; 527 EXTERN FL_OBJECT *gen_argument_browser; 528 529 EXTERN FL_FORM *anova_window; 530 EXTERN FL_OBJECT *anova_block_browser; 531 EXTERN FL_OBJECT *anova_variable_browser; 532 EXTERN FL_OBJECT *anova_one_button; 533 EXTERN FL_OBJECT *anova_two_button; 534 EXTERN FL_OBJECT *anova_from_counter; 535 EXTERN FL_OBJECT *anova_to_counter; 536 EXTERN FL_OBJECT *anova_block_counter; 537 538 EXTERN FL_FORM *nnet_window; 539 EXTERN FL_OBJECT *nnet_output_browser; 540 EXTERN FL_OBJECT *nnet_input_browser; 541 EXTERN FL_OBJECT *nnet_variable_input; 542 EXTERN FL_OBJECT *nnet_overwrite_button; 543 EXTERN FL_OBJECT *nnet_annealing_button; 544 EXTERN FL_OBJECT *nnet_from_counter; 545 EXTERN FL_OBJECT *nnet_to_counter; 546 EXTERN FL_OBJECT *nnet_cycles_counter; 547 EXTERN FL_OBJECT *nnet_learn_counter; 548 EXTERN FL_OBJECT *nnet_squasher_buttons; 549 EXTERN FL_OBJECT *nnet_go_button; 550 EXTERN FL_OBJECT *nnet_done_button; 551 EXTERN FL_OBJECT *nnet_step_button; 552 EXTERN FL_OBJECT *nnet_straight_button; 553 EXTERN FL_OBJECT *nnet_sigmoid_button; 554 555 EXTERN FL_FORM *do_nnet_window; 556 EXTERN FL_OBJECT *do_nnet_chart; 557 EXTERN FL_OBJECT *do_nnet_browser; 558 EXTERN FL_OBJECT *nnet_hidden_counter; 559 EXTERN FL_OBJECT *nnet_pictex_button; 560 561 EXTERN FL_FORM *sign_window; 562 EXTERN FL_OBJECT *sign_one_browser; 563 EXTERN FL_OBJECT *sign_two_browser; 564 EXTERN FL_OBJECT *sign_null_counter; 565 EXTERN FL_OBJECT *sign_from_counter; 566 EXTERN FL_OBJECT *sign_to_counter; 567 568 EXTERN FL_FORM *eqmean_window; 569 EXTERN FL_OBJECT *eqmean_one_browser; 570 EXTERN FL_OBJECT *eqmean_two_browser; 571 EXTERN FL_OBJECT *eqmean_null_counter; 572 EXTERN FL_OBJECT *eqmean_from_counter; 573 EXTERN FL_OBJECT *eqmean_to_counter; 574 575 EXTERN FL_FORM *watson_window; 576 EXTERN FL_OBJECT *watson_browser; 577 EXTERN FL_OBJECT *watson_from_counter; 578 EXTERN FL_OBJECT *watson_to_counter; 579 580 EXTERN FL_FORM *filter_window; 581 EXTERN FL_OBJECT *filter_browser; 582 EXTERN FL_OBJECT *filter_outliers_button; 583 EXTERN FL_OBJECT *filter_detrend_button; 584 EXTERN FL_OBJECT *filter_zo_button; 585 EXTERN FL_OBJECT *filter_from_counter; 586 EXTERN FL_OBJECT *filter_to_counter; 587