| 895 | } |
| 896 | template<class CArray, class Array> |
| 897 | void rot90(CArray t1, int w1, int h1, Array t2, int& w2, int& h2) { |
| 898 | w2 = h1; h2 = w1; |
| 899 | for (int h = 0; h < h1; ++h) |
| 900 | for (int w = 0; w < w1; ++w) |
| 901 | t2[pos(w, w2-h-1, h2, w2)] = t1[pos(h, w, h1, w1)]; |
| 902 | } |
| 903 | template<class CArray, class Array> |
| 904 | void rot180(CArray t1, int w1, int h1, Array t2, int& w2, int& h2) { |
| 905 | w2 = w1; h2 = h1; |