User`s guide
Mathematics
21-17
Sparse Arrays on 64-Bit Systems
The internal storage of sparse arrays on 64-bit systems has changed in the R2006b
release. This change should be invisible to most MATLAB users. However, MEX-file
programs that run on a 64-bit system and access sparse arrays must be modified and
recompiled in order to run on MATLAB Version 7.3. This applies to existing MEX-files
and to any new MEX-files that you write.
If you are affected by this change, you will need to take the following steps to make your
code compatible with the new sparse array format:
• Modify all sparse array declaration statements in MEX-files that are to run on a
64–bit system so that they now use the mwSize and mwIndex types instead of more
specific type declarations such as int or INTEGER*4.
• Change any MEX code that assigns a negative value to a variable used to hold a
sparse array index or size. An example of this would be code that temporarily uses an
array index as a flag, assigning a -1 to it to mark the index as unset. Do not try to cast
negative int values to mwSize or mwIndex. Instead, change your code to avoid using
negative values.
• Recompile these MEX-files using the -largeArrayDims option
For a full description of what you will need to do, please read the section “Sparse Arrays
on 64-bit Systems” on page 21-35 in the MATLAB External Interfaces release notes.
Compatibility Considerations
Existing MEX-files that run on 64-bit systems and access sparse arrays in MATLAB will
not operate correctly in MATLAB 7.3 unless the required changes outlined above are
made and the files are recompiled with the -largeArrayDims option. New MEX-files
that you create must also adhere to these guidelines.
FFTW Upgraded to Version 3.1.1 in MATLAB
The version of FFTW used in MATLAB has been upgraded from 3.0.2 to 3.1.1 Please read
the ??? section, below.
Other changes in MATLAB FFTW support are:
• The default planner method is now estimate. Previously, hybrid was the default.