# CBLAS Arguments

The arguments of CBLAS functions obey the following rules:

- Input arguments are declared with the const modifier.

- Non-complex scalar input arguments are passed by value.

- Complex scalar input arguments are passed as void pointers.

- Array arguments are passed by address.

- BLAS character arguments are replaced by the appropriate enumerated type.

- Level 2 and Level 3 routines acquire an additional parameter of type CBLAS_ORDER as their first argument. This parameter specifies whether two-dimensional arrays are row-major (CblasRowMajor) or column-major (CblasColMajor).

## Enumerated Types

The CBLAS interface uses the following enumerated types:

enum CBLAS_ORDER {

CblasRowMajor=101, /* row-major arrays */

CblasColMajor=102}; /* column-major arrays */

enum CBLAS_TRANSPOSE {

CblasNoTrans=111, /* trans='N' */

CblasTrans=112, /* trans='T' */

CblasConjTrans=113}; /* trans='C' */

enum CBLAS_UPLO {

CblasUpper=121, /* uplo ='U' */

CblasLower=122}; /* uplo ='L' */

enum CBLAS_DIAG {

CblasNonUnit=131, /* diag ='N' */

CblasUnit=132}; /* diag ='U' */

enum CBLAS_SIDE {

CblasLeft=141, /* side ='L' */

CblasRight=142}; /* side ='R' */

Parent topic: CBLAS Interface to the BLAS