2 #define OFFSET(N, incX) ((incX) > 0 ? 0 : ((N) - 1) * (-(incX)))
3 #define BLAS_ERROR(x) cblas_xerbla(0, __FILE__, x);
5 #define CONJUGATE(x) ((x) == CblasConjTrans)
6 #define TRANSPOSE(x) ((x) == CblasTrans || (x) == CblasConjTrans)
7 #define UPPER(x) ((x) == CblasUpper)
8 #define LOWER(x) ((x) == CblasLower)
10 /* Handling of packed complex types... */
12 #define REAL(a,i) (((BASE *) a)[2*(i)])
13 #define IMAG(a,i) (((BASE *) a)[2*(i)+1])
15 #define REAL0(a) (((BASE *)a)[0])
16 #define IMAG0(a) (((BASE *)a)[1])
18 #define CONST_REAL(a,i) (((const BASE *) a)[2*(i)])
19 #define CONST_IMAG(a,i) (((const BASE *) a)[2*(i)+1])
21 #define CONST_REAL0(a) (((const BASE *)a)[0])
22 #define CONST_IMAG0(a) (((const BASE *)a)[1])
25 #define GB(KU,KL,lda,i,j) ((KU+1+(i-j))*lda + j)
27 #define TRCOUNT(N,i) ((((i)+1)*(2*(N)-(i)))/2)
29 /* #define TBUP(N,i,j) */
30 /* #define TBLO(N,i,j) */
32 #define TPUP(N,i,j) (TRCOUNT(N,(i)-1)+(j)-(i))
33 #define TPLO(N,i,j) (((i)*((i)+1))/2 + (j))