returnValue Matrix::printToFile( const char* const filename, const char* const name, PrintScheme printScheme ) const { FILE* file = 0; MatFile* matFile = 0; switch ( printScheme ) { case PS_MATLAB_BINARY: matFile = new MatFile; matFile->open( filename ); matFile->write( *this,name ); matFile->close( ); delete matFile; return SUCCESSFUL_RETURN; default: file = fopen( filename,"w+" ); if ( file == 0 ) return ACADOERROR( RET_FILE_CAN_NOT_BE_OPENED ); printToFile( file, name,printScheme ); fclose( file ); return SUCCESSFUL_RETURN; } }
returnValue GenericMatrix< T >::print( std::ostream& _stream, const std::string& _name, PrintScheme _printScheme ) const { MatFile< T >* matFile; switch ( _printScheme ) { case PS_MATLAB_BINARY: matFile = new MatFile<T>(); matFile->write(_stream, *this, _name.c_str()); delete matFile; return SUCCESSFUL_RETURN; default: char* startString = 0; char* endString = 0; uint width = 0; uint precision = 0; char* colSeparator = 0; char* rowSeparator = 0; returnValue ret = getGlobalStringDefinitions(_printScheme, &startString, &endString, width, precision, &colSeparator, &rowSeparator); if (ret != SUCCESSFUL_RETURN) return ret; returnValue status = print(_stream, _name, startString, endString, width, precision, colSeparator, rowSeparator); if ( startString != 0 ) delete[] startString; if ( endString != 0 ) delete[] endString; if ( colSeparator != 0 ) delete[] colSeparator; if ( rowSeparator != 0 ) delete[] rowSeparator; return status; } }