public static (int iBegin, int iEnd, int jBegin, int jEnd) GetIndexes(PartOfMatrix part, int dimension) { int iBegin = 0, iEnd = 0, jBegin = 0, jEnd = 0; if (!IsPowerOfTwo(dimension)) { return(iBegin : iBegin, iEnd : iEnd, jBegin : jBegin, jEnd : jEnd); } if (part == PartOfMatrix.LeftTop) { iBegin = 0; iEnd = dimension / 2; jBegin = 0; jEnd = dimension / 2; } if (part == PartOfMatrix.LeftBottom) { iBegin = dimension / 2; iEnd = dimension; jBegin = 0; jEnd = dimension / 2; } if (part == PartOfMatrix.RightTop) { iBegin = 0; iEnd = dimension / 2; jBegin = dimension / 2; jEnd = dimension; } if (part == PartOfMatrix.RightBottom) { iBegin = dimension / 2; iEnd = dimension; jBegin = dimension / 2; jEnd = dimension; } return(iBegin : iBegin, iEnd : iEnd, jBegin : jBegin, jEnd : jEnd); }
public MatrixPart(int[,] v1, PartOfMatrix part) { Data = MathExtensions.CreateMatrixPart(v1, part); }