extern double decode2(),decode3(),decode1(),decode4(), decode(int *, int, int), other(int,double);


extern void subfort_( int*, int *, int *,int *,double *, double * );  /*ms*/
extern void p_dequeue();                                              /*ms*/

extern void subq1_(); 
extern void subq2_( int *, double *, int *, double * );
extern void subq3_(); 

extern void show_best_design();
extern double rr(), neta(), Nones(), onemax(), flat(), a2rch(), d2Arch();
extern void Xgen(), do_sort(int *);
extern int muteX(int, int, int);
extern void swap();
extern double pow2();
extern void cross(IPTR, IPTR, IPTR, IPTR);
extern int muteX();
extern void raw_stat(FILE *, IPTR);
extern int erfunc(char *, int);

extern void report(int, IPTR);
extern int gen0(IPTR, IPTR, int);
extern int gen1(IPTR, IPTR, int);
extern int gen0_scaled(IPTR, IPTR, int);
extern int gen1_scaled(IPTR, IPTR, int);

extern void initqueue();
extern void enqueue(int *);
extern double dequeue();

extern void initdata();
extern void initpop();
extern void initreport();
extern void initialize();
extern void advance_random();
extern void warmup_random(double);
extern double f_random();
extern void randomize();
extern int flip(double);
extern int rnd(int, int);
extern void statistics(IPTR);
extern void sort(int *, IPTR, int);
extern void nosort();
extern void struct_cp(char *, char *, int);
extern void con_bin();
extern double bin_to_dec(int *, int);
extern int conv();

extern void pop_write(FILE  *, IPTR);
extern void chrom_write(IPTR, FILE *);
extern void initfuncs();
extern void halve(individual *, individual *);

extern int roulette(IPTR, double, int);
extern roulette2(IPTR, double, int), scaled_roulette(IPTR, double, int);
extern int gen_scale();
extern void scalepop(IPTR), find_coeffs(IPTR);
