Utilities\MatrixTransposeOps.cs (38)
37T[] work = new T[_block * _block];
38for (int i = 0; i < m; i += _block)
40int iend = Math.Min(m - i, _block);
41for (int j = 0; j < n; j += _block)
43int jend = Math.Min(n - j, _block);
48int workoff = jsub * _block;
63dst[off + jsub] = work[jsub * _block + isub];
88MadeObjectPool<T[]> workPool = new MadeObjectPool<T[]>(() => new T[_block * _block]);
89int isteps = (m - 1) / _block + 1;
90int jsteps = (n - 1) / _block + 1;
91IEnumerable<int> jenum = Enumerable.Range(0, jsteps).Select(j => j * _block);
92IEnumerable<int> ienum = Enumerable.Range(0, isteps).Select(i => i * _block);
99int iend = Math.Min(m - i, _block);
100int jend = Math.Min(n - j, _block);
106int workoff = jsub * _block;
121dst[off + jsub] = work[jsub * _block + isub];
139MadeObjectPool<float[]> workPool = new MadeObjectPool<float[]>(() => new float[_block * _block]);
141int isteps = (m - 1) / _block + 1;
142int jsteps = (n - 1) / _block + 1;
143IEnumerable<int> jenum = Enumerable.Range(0, jsteps).Select(j => j * _block);
144IEnumerable<int> ienum = Enumerable.Range(0, isteps).Select(i => i * _block);
151int iend = Math.Min(m - i, _block);
152int jend = Math.Min(n - j, _block);
162work[jsub * _block + isub] = srcP[isub];
174dstP[jsub] = work[jsub * _block + isub];
192MadeObjectPool<double[]> workPool = new MadeObjectPool<double[]>(() => new double[_block * _block]);
194int isteps = (m - 1) / _block + 1;
195int jsteps = (n - 1) / _block + 1;
196IEnumerable<int> jenum = Enumerable.Range(0, jsteps).Select(j => j * _block);
197IEnumerable<int> ienum = Enumerable.Range(0, isteps).Select(i => i * _block);
204int iend = Math.Min(m - i, _block);
205int jend = Math.Min(n - j, _block);
215work[jsub * _block + isub] = srcP[isub];
227dstP[jsub] = work[jsub * _block + isub];