public void writeCompressed(ExtendedDataOutput output) { short flag = ((short)(DATA_FORM.DF_TABLE) << 8 | 8 & 0xff); //8: table type TODO: add table type output.writeShort(flag); int rows = this.rows(); int cols = this.columns(); output.writeInt(rows); output.writeInt(cols); output.writeString(""); //table name for (int i = 0; i < cols; i++) { output.writeString(this.getColumnName(i)); } for (int i = 0; i < cols; i++) { AbstractVector v = (AbstractVector)this.getColumn(i); if (v.getDataType() == DATA_TYPE.DT_SYMBOL) { v.write((ExtendedDataOutput)output); } else { v.writeCompressed((ExtendedDataOutput)output); } output.flush(); } }
public virtual void write(ExtendedDataOutput @out) { int flag = ((int)df_ << 8) + (int)getDataType(); @out.writeShort(flag); @out.writeInt(rows()); @out.writeInt(columns()); writeVectorToOutputStream(@out); }
public virtual void write(ExtendedDataOutput @out, SymbolBaseCollection collection) { int dataType = (int)getDataType() + 128; int flag = ((int)DATA_FORM.DF_VECTOR << 8) + dataType; @out.writeShort(flag); @out.writeInt(rows()); @out.writeInt(columns()); collection.write(@out, @base); @out.writeIntArray(values.ToArray()); }
public virtual void write(ExtendedDataOutput @out) { int count = syms.Count; @out.writeInt(0); @out.writeInt(count); for (int i = 0; i < count; ++i) { @out.writeString(syms[i]); } }
public virtual void write(ExtendedDataOutput @out) { int flag = ((int)df_ << 8) + (int)getDataType(); if (this is BasicSymbolVector) { flag += 128; } @out.writeShort(flag); @out.writeInt(rows()); @out.writeInt(columns()); writeVectorToOutputStream(@out); }
public override void serialize(int start, int count, ExtendedDataOutput @out) { for (int i = 0; i < count; ++i) { @out.writeInt(values[start + i]); } }
public void write(ExtendedDataOutput @out) { int flag = ((int)DATA_FORM.DF_SCALAR << 8) + (int)getDataType(); @out.writeInt(flag); writeScalarToOutputStream(@out); }
protected internal override void writeVectorToOutputStream(ExtendedDataOutput @out) { foreach (short value in values) { @out.writeInt(value); } }
public virtual void write(ExtendedDataOutput @out) { int flag = ((int)DATA_FORM.DF_TABLE << 8) + (int)getDataType(); @out.writeShort(flag); @out.writeInt(rows()); @out.writeInt(columns()); @out.writeString(""); //table name foreach (string colName in names_) { @out.writeString(colName); } foreach (IVector vector in columns_) { vector.write(@out); } }
public virtual void write(ExtendedDataOutput output) { int length = 27 + AbstractExtendedDataOutputStream.getUTFlength(path, 0, 0) + sites.Count; foreach (string site in sites) { length += AbstractExtendedDataOutputStream.getUTFlength(site, 0, 0); } output.writeShort(length); output.writeString(path); output.write(id); output.writeInt(version); output.writeInt(size_Renamed); output.writeByte(flag); output.writeByte(sites.Count); foreach (string site in sites) { output.writeUTF(site); } }
public virtual void write(ExtendedDataOutput @out) { int flag = ((int)DATA_FORM.DF_MATRIX << 8) + (int)getDataType(); @out.writeShort(flag); byte labelFlag = (byte)((hasRowLabel() ? 1 : 0) + (hasColumnLabel() ? 2 : 0)); @out.writeByte(labelFlag); if (hasRowLabel()) { rowLabels.write(@out); } if (hasColumnLabel()) { columnLabels.write(@out); } @out.writeShort(flag); @out.writeInt(rows()); @out.writeInt(columns()); writeVectorToOutputStream(@out); }
protected internal override void writeVectorToOutputStream(ExtendedDataOutput @out) { int indexCount = rowIndices.Count; int cols = valueVec.rows(); int countBytes = 1; UInt32 maxCount = 255; int indicesPos = 0; int valuesOffect = 0; while (indicesPos < indexCount) { int byteRequest = 4; int curRows = 0; int indiceCount = 1; while (byteRequest < BUF_SIZE && indicesPos + indiceCount - 1 < indexCount && indiceCount < 65536) { int curIndiceOffect = indicesPos + indiceCount - 1; int index = curIndiceOffect == 0 ? rowIndices[curIndiceOffect] : rowIndices[curIndiceOffect] - rowIndices[curIndiceOffect - 1]; while (index > maxCount) { byteRequest += (indiceCount - 1) * countBytes; countBytes *= 2; maxCount = Math.Min(UInt32.MaxValue, (UInt32)1 << (8 * countBytes) - 1); } curRows += index; indiceCount++; byteRequest += countBytes + baseUnitLength_ * index; } indiceCount--; @out.writeShort(indiceCount); @out.writeByte(countBytes); @out.writeByte(0); for (int i = 0; i < indiceCount; ++i) { int index = indicesPos + i == 0 ? rowIndices[indicesPos + i] : rowIndices[indicesPos + i] - rowIndices[indicesPos + i - 1]; if (countBytes == 1) { @out.writeByte(index); } else if (countBytes == 2) { @out.writeShort(index); } else { @out.writeInt(index); } } valueVec.serialize(valuesOffect, curRows, @out); indicesPos += indiceCount; valuesOffect += curRows; } }
public virtual void write(ExtendedDataOutput @out, SymbolBase @base) { bool existing = false; int id = 0; if (existingBases == null) { existingBases = new Dictionary <SymbolBase, int>(); existingBases[@base] = 0; } else { int?curId = existingBases[@base]; if (curId != null) { existing = true; id = curId.Value; } else { id = existingBases.Count; existingBases[@base] = id; } } @out.writeInt(id); if (existing) { @out.writeInt(0); } else { int size = @base.size(); @out.writeInt(size); for (int i = 0; i < size; ++i) { @out.writeString(@base.getSymbol(i)); } } }
protected override void writeScalarToOutputStream(ExtendedDataOutput @out) { @out.writeInt(value); }