📄 gene.cpp
字号:
// -*- c++ -*-//// File: gene.cpp//// Description: C++ implementation for the class gene.// A gene stores an allele, 0 or 1.//// Author: Fernando Lobo//// Date: June/1999//// Extended to deal with chi-ary problems by Luis de la Ossa// GCC 3.4 and 4 series compliance by Kumara Sastry //// Date: March/2006#include <assert.h>#include <iostream>#include "gene.hpp"#include "parameter.hpp"#include "random.hpp" // random number generatorextern randomG RANDOM; // generate an allele randomlyvoid gene::random(int position){ Allele = RANDOM.uniform(0,parameter::ranges[position]-1);}// print the genestd::ostream &operator<< (std::ostream &out, const gene &g){ out << g.Allele; return out;}// assignment operator: gene = genegene & gene::operator=(const gene &g){ if (this== &g) return *this; Allele = g.Allele; return *this;}// assignment operator: gene = intgene & gene::operator=(const int v){ Allele = v; return *this;}// changes allelevoid gene::mutate(int position){ // the operation ensures the change in the allele without using any loop. Allele = (Allele + RANDOM.uniform(1,parameter::ranges[position]-1)) % parameter::ranges[position];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -