**petsc-3.3-p7 2013-05-11**

# PetscBLASInt

datatype used to represent 'int' parameters to BLAS/LAPACK functions.
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.

### See Also

PetscMPIInt, PetscInt

**Level:**intermediate

Location:include/petscsys.h

Index of all Sys routines

Table of Contents for all manual pages

Index of all manual pages