% $Revision: 1.12 $ % Release Notes, MATLAB C++ Math Library % Version 2.1, May 2000 % Copyright (c) 1994-2000 by The MathWorks, Inc. In this file, the notation refers to the root of your MATLAB installation. On UNIX this corresponds to the value of the environment variable $MATLAB, and on the PC to the value of the variable %MATLAB%. Because the MATLAB C++ Math Library contains the MATLAB C Math Library, you should read the MATLAB C Math Library release notes. New features and restrictions, problems, changes, or known bugs listed there apply here as well. You'll find the MATLAB C Math Library release notes in /extern/examples/cmath/release.txt. MATLAB C++ MATH LIBRARY VERSION 2.1 INFORMATION For help installing the MATLAB C++ Math Library, see the "Getting Ready" chapter in the "MATLAB C++ Math Library User's Guide". Version 2.1 of the library provides the following new features: * EVAL is supported for expressions which do not contain variables * INPUT is supported with the same restrictions as EVAL * Performance enhancements in the core numerical routines The library does not yet support these MATLAB language features: * MATLAB objects * MATLAB R12 Java Objects NOTE: Existing Version 2.0 hand-written source code is compatible with the Version 2.1 libraries, but you must recompile your code. Additionally, any M-files which were compiled with Version 2.0 of the MATLAB Compiler must be recompiled with Version 2.1 of the MATLAB Compiler before using them with the Version 2.1 libraries. If you do not recompile your program, it will produce a runtime error or crash. In version 2.0, any empty array could be used as an indexed deletion operator. In version 2.1, you must use the empty() function for indexed deletion. The "MATLAB C++ Math Library Reference" and the "MATLAB C++ Math Library Version 2.1 User's Guide" are available in PDF format through the Help Desk if you are a MATLAB user and through /help/mathlib.html if you are a stand-alone customer. SUPPORTED COMPILERS: Note that we only support the GNU compiler on the Linux platform. On all of the other UNIX platforms, we support the vendor supplied C++ compiler (i.e., CC on Solaris, cxx on DEC Alpha, etc.). ------------------------------------------------------------------------ PC-SPECIFIC INFORMATION - We support these C/C++ compilers: 1. Microsoft Visual C/C++, Versions 5.0, and 6.0 2. Borland C/C++, Versions 5.0 and 5.02 (5.2) 3. Borland C++ Builder Versions 3.0, 4.0, and 5.0 WATCOM C/C++ compilers are no longer supported. - In order to allow MFC applications to link against the MATLAB C++ Math Library, we have switched to building the MSVC version of the library against the multithreaded dll versions of the MSVC run time libraries. The impact of this change is as follows: - mbuild: no change - MFC apps in VC++ IDE: MFC must be used as a DLL (the default) - console apps in VC++ IDE: you need to change the project settings for C/C++ Code Generation / Runtime Library to Multithreaded DLL or Debug Multithreaded DLL - building from command line without mbuild: you need to use the -md switch when compiling - The MSVC runtime libraries msvcrt.dll and msvcirt.dll need to be distributed with any apps created with the MATLAB C++ Math Library using MSVC. ------------------------------------------------------------------------ Solaris-SPECIFIC INFORMATION - The MATLAB C++ Math library is shipped as a shared library, libmatpp.so. - Supported compiler: Sparcworks CC. - The Sparcworks compiler occasionally generates bad code for inline functions. Users should build their applications with inlining turned off (use the +d compiler switch). The mbuild script disables inlining on the Solaris by default. ------------------------------------------------------------------------ HP/UX-SPECIFIC INFORMATION - The MATLAB C++ Math library is shipped as a shared library, libmatpp.sl. - Supported compiler: HP's aCC - We no longer support HP's old CC compiler. The MATLAB C++ Math Library was built and tested with aCC, HP's new C++ compiler. You MUST use aCC to build applications that use the MATLAB C++ Math Library. The aCC compiler provides much more robust support for templates and exception handling. - We require HP/UX 10.20 or later. - The aCC compiler becomes very slow if inlining is turned on (we've seen it take more than an hour to build a simple program). Users should build their applications with inlining turned off (use the +d compiler switch). The mbuild script disables inlining (on the HP700) by default. ------------------------------------------------------------------------ DEC Alpha OSF/1-SPECIFIC INFORMATION - The MATLAB C++ Math library is shipped as a shared library, libmatpp.so. - Supported compiler: DEC's cxx ------------------------------------------------------------------------ IBM AIX-SPECIFIC INFORMATION - The MATLAB C++ Math library is shipped as a shared library, libmatpp.a. - C++ mode requires AIX version 4.2 or later. Earlier versions of the operating system are not supported. ------------------------------------------------------------------------ SGI-SPECIFIC INFORMATION - The MATLAB C++ Math library is shipped as a shared library, libmatpp.so. - Supported compiler: SGI's CC compiler - Exception handling is enabled on the SGI. You need to use the -exceptions switch on 32-bit SGIs when compiling C++ code. The mbuild script takes care of this automatically. - Exception handling and inline functions don't coexist well on the 32-bit SGI platform. Therefore, users must build their applications without inlining (use the +d compiler switch). The mbuild script disables inlining on 32-bit SGIs by default. ------------------------------------------------------------------------ LINUX-SPECIFIC INFORMATION - Due to problems with exception handling in the GNU C++ compiler, exception handling is disabled in the linux version of the MATLAB C++ Math Library. ------------------------------------------------------------------------