コード例 #1
0
ファイル: CAP_newOrder.cpp プロジェクト: tikhoncheva/work
void CProblem::set_d_function(){
	max_d = dist_linear(0);
	d.resize(n);
	for (unsigned int u=0; u<n; u++) {
		d[u].resize(n);
		for (unsigned int v=0; v<n; v++) {
			d[u][v] = dist_linear(distances[u][v]);
		}
	}
}
コード例 #2
0
ファイル: common.c プロジェクト: mruegenberg/miWorleyNoise
miScalar distance(dist_measure distance_measure, miVector2d *v1, miVector2d *v2) {
  switch(distance_measure) {
    case DIST_LINEAR: return dist_linear(v1,v2);
    case DIST_LINEAR_SQUARED: return dist_linear_squared(v1,v2);
    case DIST_MANHATTAN: return dist_manhattan(v1,v2);
    // case DIST_MINKOWSKI: return 30; // actually, this should be based on the parameter p. This is for 2, since that is the same as linear/euclidean distance
    default: return -1;
  }
}
コード例 #3
0
ファイル: CAP.cpp プロジェクト: tikhoncheva/work
void CProblem::set_d_function()
{
	d.resize(n);
	for (unsigned int u = 0; u < n; u++)
	{
		d[u].resize(n);
		for (unsigned int v = 0; v < u; v++)
		{
			d[u][v] = dist_linear(distances[u][v]);
			d[v][u] = d[u][v];
			if (d[u][v] <= max_distance && u != v)
			{ /* save vertices for which additional constraints to be created*/
				Info.numAddVar++;
				Info.ConstrIndex.push_back(u);
				Info.ConstrIndex.push_back(v);
			}
		}
	}
	Info.numVar += Info.numAddVar;
	std::cout << " numAddVar " << Info.numAddVar << "\n";
}