만약 4*4 행렬일 경우
<<2 == *4 와 같으며 row | 는 0~3 범위의 인덱스가 됨으로 이와 같은 비트 오퍼레이션 연산이 가능하다
T & element (int row, int col) {
return _array[row | (col<<2)];
}
void set_row(int r, const vec4<T> & t) {
for (int i = 0; i < 4; i++) element(r,i) = t[i];
}
void set_column(int c, const vec4<T> & t) {
for (int i = 0; i < 4; i++) element(i,c) = t[i];
}
반응형
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
멤버함수포인터와 std::map 의 응용 (0) | 2012.11.01 |
---|---|
UINT_PTR (32비트 및 64비트 호환 포인터연산) (0) | 2012.11.01 |
이름없는 union 과 struct 로 행렬클래스 생성 아이디어 (1) | 2012.11.01 |
restrict 포인터 {void* restrict pt} (0) | 2012.11.01 |
부동 소수점( 기수법 ) (0) | 2012.11.01 |