Mercurial > hg > Game > Cerium
view example/bitonic_sort/spe/swap.cc @ 2054:2e7a6f40672f draft
add param(4) in FileMapReduce.cc
author | masa |
---|---|
date | Fri, 29 Jan 2016 15:56:28 +0900 |
parents | 33af6d6e1bfc |
children |
line wrap: on
line source
#include "swap.h" SchedDefineTask1(swap,swap); static int swap(SchedTask* s, void* rbuf,void* wbuf) { int* inData = (int*)s->get_input(rbuf, 0); int* outData = (int*)s->get_output(wbuf, 0); int index = s->x; int block = (int)s->get_param(0); int dist = (int)s->get_param(1); int x = index/(block/2); int i = index+block*x; int temp = inData[i]; if (x%2 == 0) { if (inData[i+dist] < inData[i]) { outData[i] = inData[i+dist]; outData[i+dist] = temp; } } else { if (inData[i] < inData[i+dist]) { outData[i] = inData[i+dist]; outData[i+dist] = temp; } } return 0; }