bitvrandominitializer.cpp

来自「粗糙集应用软件」· C++ 代码 · 共 41 行

CPP
41
字号
// BitVRandomInitializer.cpp: implementation of the BitVRandomInitializer class.
//
//////////////////////////////////////////////////////////////////////

#include "../copyright.h" // Added 000323 by Aleksander 豩rn.

#include "BitVRandomInitializer.h"
#include "Rand.h"
#include "EABitset.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

BitVRandomInitializer::BitVRandomInitializer(int size, int nbits, double prob, bool vary)
:	number(size), bits(nbits), p(prob), oneShot(vary)
{

}

BitVRandomInitializer::~BitVRandomInitializer()
{

}

Population& BitVRandomInitializer::init()
{
	cerr << "Init, size: " << number << ", bits: " << bits <<"...\n";
	for(int i = 0; i < number; i++){
    EABitset * v = new EABitset(bits);
		if(!oneShot)
			p = Rand::d();
    for(int j = 0; j < bits; j++){
			if(Rand::d() < p)
				v->set(j, true);
		}
    pop.population.push_back(v);
	}
	cerr << "return from init\n";
	return pop;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?