지금 쓰려고 하는 프로그램에서 그 .. circular shift 라고 해야되나.. 우측으로 1씩 자리 이동한다면

아래처럼 쉬프트 되는걸 써야됨


{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 가

{9, 0, 1, 2, 3, 4, 5, 6, 7, 8} 됨


그래서 생각한게 모듈러 연산을 이용해서


우측으로 k칸씩 이동해야된다면

void cshift(int* input, int* output, int k) {

for(int n=0;n<10;n++) {

int index=mod((n+k),10);

output[index] = input[n];

}

}


이렇게 해놨는데 궁금한 점은 모듈러를 쓰는 거랑 if 문을 쓰는거 중에 뭐가 더 나은지 모르겠음 ...

모듈러를 쓰면 코드가 좀 클린해보이긴한데... if문을 쓰는거에 비해 느려지지 않을까라는 생각이 듬


위에 코드는 걍 cpu에서 쓰는 코드로 적어놨지만 사실 적용해야되는건 gpu라서

속도가 느려진다면 코드가 깔끔해진다한들 의미가 없으니까 ...


어 .. 근데 왜 퍼센트 기호가 안써지지;