Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Teem::BitGenome Class Reference
[Genetic Algorithms]

#include <ValueGenome.h>

Inheritance diagram for Teem::BitGenome:

Teem::ValueGenome Teem::Genome List of all members.

Detailed Description

A genome which uses bits to store values.


Public Member Functions

 BitGenome (Ishtar::InputStream *stream)
 Constructor, deserialize from stream.
 BitGenome (size_t size)
 Constructor, size bits.
bool getBit (size_t pos)
 Returns bit at pos.
bool operator[] (size_t pos)
 [] operator to get bit at pos, convenient
void setBit (size_t pos, bool bit)
 Set bit at pos.
void seek (size_t pos)
 Seel to pos.
size_t getLength ()
 Returns the length in bits.
size_t getWordCount ()
 Returns the number of unsigned in the bits storage. Usefull for specific implementations.
void setWord (size_t pos, unsigned val)
 Directly set an unsigned in the bits storage. Usefull for specific implementations.
unsigned getWord (size_t pos)
 Directly get an unsigned in the bits storage. Usefull for specific implementations.
unsigned getUnsignedIntRaw (unsigned precision)
 Get a value of type unsigned int on range [0..2^precision-1] by directly reading bit per bit, increment reading position.
template<typename T>
getValue (unsigned bitCount)
 Get a value of type T on range [0..1] using bitCount bits, increment reading position.
template<typename T>
getValueRange (unsigned bitCount, T min, T max)
 Get a value of type T on range [min..max] using bitCount bits, increment reading position.
virtual double getDouble (double min, double max)
 Get a value of type double on range [min..max] using defaultPrecision bits, increment reading position.
virtual float getFloat (float min, float max)
 Get a value of type float on range [min..max] using defaultPrecision bits, increment reading position.
virtual int getSignedInt (unsigned precision, int min, int max)
 Get a value of type signed int on range [min..max] using precision bits, increment reading position.
virtual unsigned getUnsignedInt (unsigned precision, unsigned min, unsigned max)
 Get a value of type unsigned int on range [min..max] using precision bits, increment reading position.
virtual void resetReading (void)
 Set reading position to 0.
void setDefaultPrecision (unsigned p)
 Number of bits used for floats and doubles.
virtual void randomize (void)
 Randomize genome content.
virtual void mutate (void)
 Mutate genome content.
virtual void cross (const Genome *other)
 Cross genome content over other.
virtual Genomeclone (void)
 Clone this genome, returns the new genome.
virtual void save (Ishtar::OutputStream *stream)
 Save the genome to a stream.

Protected Member Functions

bool checkBoundWord (size_t pos)
 return true if word pos is within bound, returns false or assert otherwise depending on Genome::disableAssertion

Protected Attributes

std::valarray< unsigned > bits
 real datas of the genome
size_t length
 length in bits of the genome
Ishtar::Variable< double > mutationProbability
 cached ishtar parameters
Ishtar::Variable< unsigned > defaultPrecision
 cached ishtar parameters
size_t readPos
 positiong for reading, internal machinery


The documentation for this class was generated from the following files:
Generated on Mon Oct 24 17:38:27 2005 for Teem by  doxygen 1.4.2