Package: R.matlab ================= Version: 1.2.4 [2008-10-29] o If onWrite == NULL, then there is no longer an outer two-pass scan for figuring out the size of MAT structure. However, instead each readDataElement() has to do a two-pass scan in order to figure out the number of bytes before writing each element. o BUG FIX: Arrays with more than two dimension would be written as vectors. Thanks Minho Chae for reporting this. o BUG FIX: From v1.2.2, writeMat() would generate corrupt MAT files. Reverted writeMat() back to v1.2.1 and updated as above. Version: 1.2.3 [2008-07-20] o Updated example(readMat) so that it gives no error if the optional 'Rcompression' package is not installed. Version: 1.2.2 [2008-07-12] o Now the first pass in writeMat() that counts the number of bytes to be written is skipped if argument 'onWrite' is not given. This means that writing to file, which is the most common use case, will no longer involve the counting. Thank to Adam Grossman at Stanford University for suggesting the modification and providing initial code. He reports a substantial speed up in writing large files (38MB file). o CLEAN UP: Removed internal debugging/asserting code. o Renamed the HISTORY file to NEWS. Version: 1.2.1 [2008-05-08] o In readMat()/writeMat() we use an internal character vector to represent the 8-bit ASCII character set. However, in R one cannot represent ASCII 0x00 - it resolves to an empty string, and from R v2.8.0 we will get a warning if we try. For now, we have replaced the ASCII for 0x00 with the empty string (unless before R v2.6.0). We might want to move away from using this ASCII vector for intToChar()/charToInt() and instead make use of intToUtf8()/utf8ToInt() or alternatively just rawToChar()/charToRaw(). Version: 1.2.0 [2008-02-12] o Added support for reading compressed MAT files. It requires that the 'Rcompression' package (Omegahat.org) is available. o Added support for also returning sparse matrices according to the representations given by either the 'Matrix' or the 'SparseM' package. o Added simple UTF-* string support. Conversion should be accurate when the R installation supports iconv. o Added mat-files/StructWithSparseMatrix-v4.mat from JR. o Credits for all of the above new feature goes to Jason Riedy at the Computer Science Dept, UC Berkeley. Thanks also to Duncan Temple-Lang at UC Davis for the Rcompression package. Version: 1.1.4 [2007-04-19] o Added a "hint" to error message 'Tag type not supported: miCOMPRESSED' to clarify that readMat() does not support compressed MAT files. Version: 1.1.3 [2007-04-07] o Update so that package passes R CMD check R v2.5.0. o Replaced Sys.putenv() with new Sys.setenv() (to be deprecated in R v2.5.0). Version: 1.1.3 [2006-12-28] o The example in help(Matlab) is now using default values for 'host' and 'port' making the example less confusing. o Now open() throws an error if connection to Matlab failed (before FALSE was returned). o Extended the accepted range of ports to [1023,66535]. o Added more details on available options in setOption() and how to avoid time outs. Version: 1.1.2 [2006-05-08] o BUG FIX: When the port for the Matlab server (MATLABSERVER_PORT) was out of range, a Matlab syntax error occured, i.e "... Line: 109 Column: 45 ")" expected, "identifier" found.'. Thanks Alexander Nervedi for reporting this. Version: 1.1.1 [2006-01-21] o Added argument 'port' to Matlab$startServer(..., port=NULL) to start the Matlab server such that it listens to another port than the default 9999. Internally the server first tries to obtain the port number by environment variable 'MATLABSERVER_PORT'. This feature was requested by Wang Yu at Iowa State University. o Another version has been added to the list of Matlab versions that are confirmed to work with R.matlab. See ?Matlab. Version: 1.1.0 [2005-06-29] o BUG FIX: Forgot to "implement" miSINGLE, i.e. to set 'knownTypes' and 'knowWhats' for this. Thanks to Craig Aumann for the report. o BUG FIX: readMat() did not read 'complex' matrices in MAT v5 correctly. Thanks again to Chris Sims for the bug report. o BUG FIX: readMat() did not read 'text' matrices in MAT v4 correctly. Thanks to Chris Sims, Princeton University, for for the patch. o If using the Matlab class, the package requires the R.utils where the classes Java and Verbose was moved. The methods for dealing with user options in the Matlab class are provided by the Options class also in R.utils. Similarily, if verbose != FALSE in readMat() or writeMat(), then the R.utils package is required. Version: 1.0.3 [2005-05-26] o Added support for used defined options to Matlab objects via methods setOption() and getOption(). Current supported options are "readResult/maxTries" and "readResult/interval" to provide a "workaround" for the problem with timeout errors in evaluate(). Thanks Thomas Romary, France, for (re-)reporting this problem. o Added class Options. This will probably move to another package whenever it becomes stable and widely used. Version: 1.0.2 [2005-05-03] o Now Matlab struct's are read into an R structure. o BUG FIX: Reading empty struct:s (and cells) tried to read one field because seq(0) and not seq(length=0) was used. Updated all occurances of this problem. o Replaces package directory misc/ with two new directories mat-files/ and externals/. Version: 1.0.1 [2005-04-08] o BUG FIX: readMat() failed to read some Matlab struct's because of a parsing error. o BUG FIX: Internally in readMat() - in readMat5DataStructure() it might be data readTag() returns a tag referering to a data block of zero length (nbrOfBytes == 0). Now list(NULL) is returned in this case. o BUG FIX: The MatlabServer script did (indeed) not work with Matlab v7; the wrong version was included. Thanks Patrick Drechsler, University of Wuerzburg for reporting the above two problems. o Minor additions to help pages. Version: 1.0 [2005-02-25] o Moved to CRAN. Version: 0.94 [2005-02-24] o Updated the MatlabServer.m script to automatically set the Java classpath for Matlab v7 and higher. This will assure that InputStreamByteWrapper.class is found as long as it is in the same directory as the *.m script. Thanks Yichun Wei at University of Southern California for suggesting this and also for suggesting additional help instructions. o Added a Wishlist and an Acknowledgements section to "about". o Added more information on how to start the Matlab server. Version: 0.93 [2005-02-20] o Added autoload("hasVarArgs") to 000.R. o Updated the Matlab example to be more explicit about problems with Matlab$startServer() and Matlab v7. Version: 0.92 [2005-02-17] o Package now passes R CMD check on R v2.1.0 devel without warnings. o Added appendVarArgs=TRUE to setMethodS3(), which specifies that '...' should be added, if missing. o Add argument '...' to all methods to make it even more consistent with any generic function. This is also done for a few methods in the R base packages. o BUG FIX: readMat() would not read non-signed bytes correctly. Version: 0.91 [2005-02-11] o Package passes R CMD check on R v2.1.0 devel too. o Moved the Java class from R.io to this package, since it is currently only used here. It is used for reading and writing Java bytes, ints and (UTF) strings when communicating with Matlab. o Updated description of package. Preparing for moving to CRAN. o Added Rdoc comments to internal Verbose classes. Version: 0.8 [2004-02-24] o Added a setVerbose() method to the Matlab class, which allows the user to get details at various levels of the Matlab process. o WORK AROUND: It sometimes happens that the reply from Matlab is not transferred "quick enough" and even if the connection should block we receive NULL giving an error. The work around for now is to try to read the answer again. The symptom was that an error in readResult() complain about "if (answer == 0)" where answer was of length 0. o Added support for reading sparse matrices. Sparse matrices are expanded to regular matrices, which means that some may be too large to be loaded. o BUG FIX: The header of MAT v4 files was not parsed correctly, which made MAT v4 files unrecognized and assumed to be MAT v5 files which in turn could not be read. o BUG FIX: Used "sparce" instead of "sparse" in MOPT[4] tag (MAT v4), which most likely would generate an error for such structure. Version: 0.7 [2003-12-02] o BUG FIX: Introduced a bug that made files written with big endian not to work. The reason was that "<-" was used instead of "<<-" in one new method. I do not like "<<-", but that is how it works. Version: 0.6 [2003-11-25] o Created an readMat() that can read both MAT v4 and MAT v5 files. The MAT v4 reader was kindly provided by Andy Jacobson at the Princeton University. o writeMat() was created for consistency, but it does only support MAT version 5. o Note that I have now choosen to rename readMAT() and writeMAT() to readMat() and writeMat(), respectively. This is in line with the RCC, cf. readHtml() instead of readHTML(). If you really need readMAT() and writeMAT() you can easily write your own wrappers. Version: 0.5 [2003-04-04] o I forgot to remove some debug code that outputs information about the Description comment everytime a MAT file is read. Removed. Version: 0.4 [2003-01-16] o Now require(R.io) is loaded with the package and not when the first Matlab client/server method is called. The former approach was a little bit annoying. o BUG FIX: The Matlab client/server implementation was broken due to bugs introduced in the Java class of the R.io package. Correcting these bugs made the Matlab part work again. Version: 0.3 [2002-11-11] o BUG FIX: readMAT() would not work because getBits() previously in package R.oo was removed. getBits() is now added as a local function inside readMAT(). o Made all methods \keyword{internal}. Version: 0.2 [2002-10-23] o Upgraded to make use of Rx.oo. Version: 0.1 [2002-09-03] o Initial methods are readMAT() and writeMAT() for reading and writing Matlab MAT file structures. o Initial class is Matlab, which provides static methods for communicating with running Matlab server. o Package created.