public IMatrix ConcatColumns(IMatrix bottom) { Debug.Assert(IsValid && bottom.IsValid); var t = this; var b = (GpuMatrix)bottom; Debug.Assert(ColumnCount == bottom.ColumnCount); var size = t.RowCount + b.RowCount; var ret = _cuda.Allocate(size * t.ColumnCount); _cuda.ConcatColumns(t._data, b._data, ret, size, t.ColumnCount, t.RowCount, b.RowCount); return(new GpuMatrix(_cuda, size, t.ColumnCount, ret)); }