public void CanCopyMatrixToArray() { var dest = new T[Matrix5By3.RowCount * Matrix5By3.ColumnCount]; int idx = 0; Matrix5By3.CopyToArray(dest, ref idx); Matrix5By3.AsColumnMajorArray().ShouldArrayEqualWithinError(dest); idx.ShouldEqual(Matrix5By3.RowCount * Matrix5By3.ColumnCount); }
public void CanRestoreMatrixFromArray() { var dest = new T[Matrix5By3.RowCount * Matrix5By3.ColumnCount]; int idx = 0; Matrix5By3.CopyToArray(dest, ref idx); Matrix5By3.AsColumnMajorArray().ShouldArrayEqualWithinError(dest); idx.ShouldEqual(Matrix5By3.RowCount * Matrix5By3.ColumnCount); idx = 0; var mat = Matrix <T> .Build.Dense(5, 3); mat.CopyFromArray(dest, ref idx); mat.AsColumnMajorArray().ShouldArrayEqualWithinError(Matrix5By3.AsColumnMajorArray()); idx.ShouldEqual(Matrix5By3.RowCount * Matrix5By3.ColumnCount); }