public FileBufferedOutputStream( MLArray array ) throws IOException { file = File.createTempFile( "jmatio-" + array.getName() + "-", null ); file.deleteOnExit(); raFile = new RandomAccessFile(file, "rw"); rwChannel = raFile.getChannel(); buf = ByteBuffer.allocate( BUFFER_SIZE ); }
sb.append(typeToString(type)); if (isLogical()) { sb.append(" (logical)"); if (isSparse()) { sb.append(" (sparse"); if (isComplex()) { sb.append(" complex"); } else if (isComplex()) { sb.append(" (complex)");
switch ( array.getType() ) if ( array.isComplex() ) if ( array.isComplex() ) if ( array.isComplex() ) if ( array.isComplex() ) if ( array.isComplex() ) tag.writeTo( dos ); if ( array.isComplex() ) throw new MatlabIOException("Cannot write matrix of type: " + MLArray.typeToString( array.getType() ));
/** * Writes MATRIX flags into <code>OutputStream</code>. * * @param os - <code>OutputStream</code> * @param array - a <code>MLArray</code> * @throws IOException */ private void writeFlags(DataOutputStream os, MLArray array) throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); DataOutputStream bufferDOS = new DataOutputStream(buffer); bufferDOS.writeInt(array.getFlags()); if (array.isSparse()) { bufferDOS.writeInt(((MLSparse) array).getMaxNZ()); } else { bufferDOS.writeInt(0); } OSArrayTag tag = new OSArrayTag(MatDataTypes.miUINT32, buffer.toByteArray()); tag.writeTo(os); }
if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) {
sb.append(typeToString(type)); sb.append(" array"); if (isSparse()) if (isComplex()) else if (isComplex())
(MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) (MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) (MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) break; default: throw new MatlabIOException("Incorrect matlab array class: " + MLArray.typeToString(type) );
/** * Writes MATRIX name into <code>OutputStream</code>. * * @param os - <code>OutputStream</code> * @param array - a <code>MLArray</code> * @throws IOException */ private void writeName(DataOutputStream os, MLArray array) throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); DataOutputStream bufferDOS = new DataOutputStream(buffer); byte[] nameByteArray = array.getNameToByteArray(); bufferDOS.write(nameByteArray); OSArrayTag tag = new OSArrayTag(MatDataTypes.miINT8, buffer.toByteArray()); tag.writeTo(os); }
/** * Writes MATRIX dimensions into <code>OutputStream</code>. * * @param os - <code>OutputStream</code> * @param array - a <code>MLArray</code> * @throws IOException */ private void writeDimensions(DataOutputStream os, MLArray array) throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); DataOutputStream bufferDOS = new DataOutputStream(buffer); int[] dims = array.getDimensions(); for (int i = 0; i < dims.length; i++) { bufferDOS.writeInt(dims[i]); } OSArrayTag tag = new OSArrayTag(MatDataTypes.miINT32, buffer.toByteArray()); tag.writeTo(os); }
protected int getIndex(int m, int n) { return m+n*getM(); }
public boolean isEmpty() { return getN() == 0; }
int type = array.getType();
switch (array.getType()) { case MLArray.mxCHAR_CLASS: if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miDOUBLE, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miUINT8, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miINT8, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miINT16, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miINT64, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { tag = new OSArrayTag(MatDataTypes.miUINT64, ((MLNumericArray<?>) array).getImaginaryByteBuffer()); if (array.isComplex()) { buffer = new ByteArrayOutputStream();
/** * Writes MATRIX flags into <code>OutputStream</code>. * * @param os - <code>OutputStream</code> * @param array - a <code>MLArray</code> * @throws IOException */ private void writeFlags(DataOutputStream os, MLArray array) throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); DataOutputStream bufferDOS = new DataOutputStream(buffer); bufferDOS.writeInt(array.getFlags()); if (array.isSparse()) { bufferDOS.writeInt(((MLSparse) array).getMaxNZ()); } else { bufferDOS.writeInt(0); } OSArrayTag tag = new OSArrayTag(MatDataTypes.miUINT32, buffer.toByteArray()); tag.writeTo(os); }
if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) { tag = new ISMatTag(buf); tag.readToByteBuffer(((MLNumericArray<?>) mlArray).getImaginaryByteBuffer(), if (mlArray.isComplex()) {
(MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) (MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) (MLNumericArray<?>) mlArray ); if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) if ( mlArray.isComplex() ) break; default: throw new MatlabIOException("Incorrect matlab array class: " + MLArray.typeToString(type) );
/** * Writes MATRIX name into <code>OutputStream</code>. * * @param os - <code>OutputStream</code> * @param array - a <code>MLArray</code> * @throws IOException */ private void writeName(DataOutputStream os, MLArray array) throws IOException { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); DataOutputStream bufferDOS = new DataOutputStream(buffer); byte[] nameByteArray = array.getNameToByteArray(); bufferDOS.write(nameByteArray); OSArrayTag tag = new OSArrayTag(MatDataTypes.miINT8, buffer.toByteArray()); tag.writeTo(os); }