public ArrayMatrix(T[,] value) { var len0 = value.GetLength(0); var len1 = value.GetLength(1); var arr = this.Value = new T[len0][]; var span = MemoryMarshal.CreateReadOnlySpan(ref value[0, 0], len0 * len1); for (int i = 0; i < arr.Length; i++) { arr[i] = span.Slice(i * len1, len1).ToArray(); } kind = ArrayMatrixKind.Normal; }
public ArrayMatrix(T[][] value) { Value = value; kind = ArrayMatrixKind.Normal; }
internal ArrayMatrix(ArrayMatrixKind kind) { this.kind = kind; Value = null; }