void DataProcessorKameleon::addDataValues(std::string path, properties::SelectionProperty& dataOptions){ int numOptions = dataOptions.options().size(); initializeVectors(numOptions); if(!path.empty()){ if(path != _kwPath || !_kw) initializeKameleonWrapper(path); std::vector<float> sum(numOptions, 0.0f); std::vector<std::vector<float>> optionValues(numOptions, std::vector<float>()); auto options = dataOptions.options(); int numValues = _dimensions.x*_dimensions.y*_dimensions.z; float* values; float value; for(int i=0; i<numOptions; i++){ //0.5 to gather interesting values for the normalization/histograms. values = _kw->getUniformSliceValues(options[i].description, _dimensions, 0.5f); for(int j=0; j<numValues; j++){ value = values[j]; optionValues[i].push_back(value); _min[i] = std::min(_min[i], value); _max[i] = std::max(_max[i], value); sum[i] += value; } } add(optionValues, sum); } }
int main(int argc, char *argv[]) { float *u = new float[N]; float *v = new float[N]; float alpha = 2.3; double time4=0; initializeVectors(u,v); TICK(); axpyGPU(u,v,alpha,N); TOCK(time4); outputStats(time4); delete [] u; delete [] v; }
void GeneticClass::DrawingPopulation(){ srand(time(NULL)); initializeVectors(); generateNastepniki(); #pragma omp parallel for for (int i = 0; i < lc; i++){ vector <bool> visited(GraphClass::vertex,false); chromosom[i][0] = rand() % GraphClass::vertex; //poczatkowy wierzcholek /* Wedlug mnie bez sensu bo jak nastepniki beda mialy size = 0 to petla bedzie nieskonczona bo zadna zmienna sie nie zmienia Jak czasem sie zdazy chromosom o rozmiarze 1 to chyba nic nam nie szkodzi ;p do chromosom[i][0] = i % GraphClass::vertex; while (nastepniki[chromosom[i][0]].size() == 0); */ visited[chromosom[i][0]] = true; unsigned int dnaLen = 10; //TODO: zmienic 10 na jakas zmienna czy cos int j = 1; createChromosom(j, visited, chromosom[i], dnaLen, !(i<(GraphClass::vertex * 0.01))); //losowo - true, deterministycznie - !(i < GraphClass::vertex) } }