本文整理汇总了C++中Gene::toggle方法的典型用法代码示例。如果您正苦于以下问题:C++ Gene::toggle方法的具体用法?C++ Gene::toggle怎么用?C++ Gene::toggle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gene
的用法示例。
在下文中一共展示了Gene::toggle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: singleCross
void Gene::singleCross(Gene& g1,Gene& g2,unsigned position){
Gene g1temp = g1;
unsigned word = position / bits_per_word;
unsigned bit = position % bits_per_word;
unsigned byte_before = word * sizeof(g1.data[0]);
memcpy(g1temp.data, g2.data, byte_before);
memcpy(g2.data, g1.data, byte_before);
for(int i = 0 ; i < bit ; i++){
if( (g1.data[word] & (BIT_MASK << i)) != (g2.data[word] & (BIT_MASK << i)) ){
unsigned pos = i + word * bits_per_word;
g1temp.toggle(pos);
g2.toggle(pos);
}
}
g1 = g1temp;
};