#ifndef GENERIC_FITNESS_H
#define GENERIC_FITNESS_H

#include "generic_individual.h"

#define GF_VARIANTS_UNLIMITED 0

class generic_fitness {
protected:
  GENE **rule_tbl;
  // should block_* be set here in the constructor instead of
  // by read_table() as it is now?
  int block_variants;
  int block_bitsize;

  int read_rule_table(int *, int);
  void delete_rule_table();
public:
  int get_block_variants() { return block_variants; }
  int get_block_bitsize() { return block_bitsize; }

  virtual float get_fitness(generic_individual *, int) = 0;
};

#endif /* GENERIC_FITNESS_H */

