C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 76 を表示中)
■44972 / )  Re[3]: C++ algorithm を使って高速化できない?
□投稿者/ επιστημη (2347回)-(2009/12/24(Thu) 11:55:45)
επιστημη さんの Web サイト
↓ CPUコアが複数個あれば速くなりますがー

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
#include <ppl.h> // Parallel Patterns Library comes with VC++10.0

using namespace std;
typedef std::pair<int,int> point;

int main() {
  const int N = 100;
  vector<point> src(N);
  for ( int i = 0; i < N; ++i ) src[i] = point(i,-i);
  int xbias = 10;
  int ybias = 20;
  vector<point> dst(N);;
  Concurrency::parallel_for(vector<point>::size_type(0), src.size(),
            [&](int i) { dst[i] = point(src[i].first+xbias, src[i].second+ybias); });
  for_each(dst.begin(), dst.end(), 
            [](const point& p) { cout << '(' << p.first << ',' << p.second << ')' << endl;});
}

返信 編集キー/


管理者用

- Child Tree -