Notes: usually this is the same as PetscInt, but if PETSc was built with --with-64-bit-indices but standard C/Fortran integers are 32 bit then this is NOT the same as PetscInt it remains 32 bit (except on very rare BLAS/LAPACK implementations that support 64 bit integers see the note below).
PetscBLASIntCheck(a) checks if the given PetscInt a will fit in a PetscBLASInt, if not it generates a PETSC_ERR_ARG_OUTOFRANGE error.
PetscBLASInt b = PetscBLASIntCast(a) checks if the given PetscInt a will fit in a PetscBLASInt, if not it generates a PETSC_ERR_ARG_OUTOFRANGE error
Installation Notes: The 64bit versions of MATLAB ship with BLAS and LAPACK that use 64 bit integers for sizes etc, if you run ./configure with the option --with-blas-lapack-lib=[/Applications/MATLAB_R2010b.app/bin/maci64/libmwblas.dylib,/Applications/MATLAB_R2010b.app/bin/maci64/libmwlapack.dylib] but you need to also use --known-64-bit-blas-indices.
MKL also ships with 64 bit integer versions of the BLAS and LAPACK, if you select those you must also ./configure with --known-64-bit-blas-indices
Developer Notes: Eventually ./configure should automatically determine the size of the integers used by BLAS/LAPACK.
External packages such as hypre, ML, SuperLU etc do not provide any support for passing 64 bit integers to BLAS/LAPACK so cannot be used with PETSc if you have set PetscBLASInt to long int.
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages