blas-0.7: cbits/zomplex.c
#include "BLAS.h"
#include "config.h"
#include <stdio.h>
static char *BLAS_TRANS_CODES[] = { "N", "T", "C" };
#define TRANS(x) BLAS_TRANS_CODES[(int) (x) - (int) BlasNoTrans]
static char *BLAS_UPLO_CODES[] = { "U", "L" };
#define UPLO(x) BLAS_UPLO_CODES[(int) (x) - (int) BlasUpper]
static char *BLAS_DIAG_CODES[] = { "N", "U" };
#define DIAG(x) BLAS_DIAG_CODES[(int) (x) - (int) BlasNonUnit]
static char *BLAS_SIDE_CODES[] = { "L", "R" };
#define SIDE(x) BLAS_SIDE_CODES[(int) (x) - (int) BlasLeft]
extern double
F77_FUNC(dzasum)(const int *n, const void *zx, const int *incx);
extern double
F77_FUNC(dznrm2)(const int *n, const void *x, const int *incx);
extern int
F77_FUNC(izamax)(const int *n, const void *zx, const int *incx);
extern void
F77_FUNC(zaxpy)(const int *n, const void *za, const void *zx,
const int *incx, void *zy, const int *incy);
extern void
F77_FUNC(zcopy)(const int *n, const void *zx, const int *incx,
void *zy, const int *incy);
extern const void
F77_FUNC(zdotc)(const void * ret_val, const int *n,
const void *zx, const int *incx, const void *zy, const int *incy);
extern const void
F77_FUNC(zdotu)(const void * ret_val, const int *n,
const void *zx, const int *incx, const void *zy, const int *incy);
extern void
F77_FUNC(zdrot)(const int *n, void *zx, const int *incx, void *zy,
const int *incy, const double *c, const double *s);
extern void
F77_FUNC(zdscal)(const int *n, const double *da, void *zx, const int *incx);
extern void
F77_FUNC(zgbmv)(const char *trans, const int *m, const int *n, const int *kl,
const int *ku, const void *alpha, const void *a, const int *lda,
const void *x, const int *incx, const void *beta, void *y,
const int *incy);
extern void
F77_FUNC(zgemm)(const char *transa, const char *transb, const int *m,
const int *n, const int *k, const const void *alpha,
const const void *a, const int *lda,
const const void *b, const int *ldb,
const const void *beta, const void *c, const int *ldc);
extern void
F77_FUNC(zgemv)(const char *trans, const int *m, const int *n, const void *alpha,
const void *a, const int *lda, const void *x, const int *incx,
const void *beta, void *y, const int *incy);
extern void
F77_FUNC(zgerc)(const int *m, const int *n, const void *alpha, const void *x,
const int *incx, const void *y, const int *incy, void *a, const int *lda);
extern void
F77_FUNC(zgeru)(const int *m, const int *n, const void *alpha, const void *x,
const int *incx, const void *y, const int *incy, void *a, const int *lda);
extern void
F77_FUNC(zhbmv)(const char *uplo, const int *n, const int *k, const void *alpha,
const void *a, const int *lda, const void *x, const int *incx,
const void *beta, const void *y, const int *incy);
extern void
F77_FUNC(zhemm)(const char *side, const char *uplo, const int *m, const int *n,
const void *alpha, const void *a, const int *lda, const void *b,
const int *ldb, const void *beta, const void *c, const int *ldc);
extern void
F77_FUNC(zhemv)(const char *uplo, const int *n, const void *alpha, const void *a,
const int *lda, const void *x, const int *incx, const void *beta,
const void *y, const int *incy);
extern void
F77_FUNC(zher)(const char *uplo, const int *n, const double *alpha, const void *x,
const int *incx, void *a, const int *lda);
extern void
F77_FUNC(zher2)(const char *uplo, const int *n, const void *alpha, const void *x,
const int *incx, const void *y, const int *incy, void *a, const int *lda);
extern void
F77_FUNC(zher2k)(const char *uplo, const char *trans, const int *n, const int *k,
const void *alpha, const void *a, const int *lda, const void *b,
const int *ldb, const double *beta, void *c, const int *ldc);
extern void
F77_FUNC(zherk)(const char *uplo, const char *trans, const int *n, const int *k,
const double *alpha, const void *a, const int *lda, const double *beta,
void *c, const int *ldc);
extern void
F77_FUNC(zhpmv)(const char *uplo, const int *n, const void *alpha, const void *ap,
const void *x, const int *incx, const void * beta, void *y,
const int *incy);
extern void
F77_FUNC(zhpr)(const char *uplo, const int *n, const double *alpha,
const void *x, const int *incx, void *ap);
extern void
F77_FUNC(zhpr2)(const char *uplo, const int *n, const void *alpha, const void *x,
const int *incx, const void *y, const int *incy, void *ap);
extern void
F77_FUNC(zrotg)(const void *ca, const void *cb, void *c, const void *s);
extern void
F77_FUNC(zscal)(const int *n, const void *za, const void *zx, const int *incx);
extern void
F77_FUNC(zswap)(const int *n, const void *zx, const int *incx, const void *zy, const int *incy);
extern void
F77_FUNC(zsymm)(const char *side, const char *uplo, const int *m, const int *n,
const void *alpha, const void *a, const int *lda, const void *b,
const int *ldb, const void *beta, const void *c, const int *ldc);
extern void
F77_FUNC(zsyr2k)(const char *uplo, const char *trans, const int *n, const int *k,
const void *alpha, const void *a, const int *lda, const void *b,
const int *ldb, const void *beta, void *c, const int *ldc);
extern void
F77_FUNC(zsyrk)(const char *uplo, const char *trans, const int *n, const int *k,
const void *alpha, const void *a, const int *lda,
const void *beta, void *c, const int *ldc);
extern void
F77_FUNC(ztbmv)(const char *uplo, const char *trans, const char *diag, const int *n, const int *k,
const void *a, const int *lda, void *x, const int *incx);
extern void
F77_FUNC(ztbsv)(const char *uplo, const char *trans, const char *diag, const int *n, const int *k,
const void *a, const int *lda, void *x, const int *incx);
extern void
F77_FUNC(ztpmv)(const char *uplo, const char *trans, const char *diag, const int *n,
const void *ap, void *x, const int *incx);
extern void
F77_FUNC(ztpsv)(const char *uplo, const char *trans, const char *diag, const int *n,
const void *ap, void *x, const int *incx);
extern void
F77_FUNC(ztrmm)(const char *side, const char *uplo, const char *transa, const char *diag,
const int *m, const int *n, const void *alpha, const void *a,
const int *lda, void *b, const int *ldb);
extern void
F77_FUNC(ztrmv)(const char *uplo, const char *trans, const char *diag, const int *n,
const void *a, const int *lda, void *x, const int *incx);
extern void
F77_FUNC(ztrsm)(const char *side, const char *uplo, const char *transa, const char *diag,
const int *m, const int *n, const void *alpha, const void *a,
const int *lda, void *b, const int *ldb);
extern void
F77_FUNC(ztrsv)(const char *uplo, const char *trans, const char *diag, const int *n,
const void *a, const int *lda, void *x, const int *incx);
void
blas_zdotu_sub (const int N, const void *X, const int incX,
const void *Y, const int incY, void *dotu)
{
return F77_FUNC(zdotu) (dotu, &N, X, &incX, Y, &incY);
}
void
blas_zdotc_sub (const int N, const void *X, const int incX,
const void *Y, const int incY, void *dotc)
{
return F77_FUNC(zdotc) (dotc, &N, X, &incX, Y, &incY);
}
double
blas_dznrm2 (const int N, const void *X, const int incX)
{
return F77_FUNC(dznrm2) (&N, X, &incX);
}
double
blas_dzasum (const int N, const void *X, const int incX)
{
return F77_FUNC(dzasum) (&N, X, &incX);
}
BLAS_INDEX
blas_izamax (const int N, const void *X, const int incX)
{
return (F77_FUNC(izamax) (&N, X, &incX) - 1);
}
void
blas_zswap (const int N, void *X, const int incX,
void *Y, const int incY)
{
F77_FUNC(zswap) (&N, X, &incX, Y, &incY);
}
void
blas_zcopy (const int N, const void *X, const int incX,
void *Y, const int incY)
{
F77_FUNC(zcopy) (&N, X, &incX, Y, &incY);
}
void
blas_zaxpy (const int N, const void *alpha, const void *X,
const int incX, void *Y, const int incY)
{
F77_FUNC(zaxpy) (&N, alpha, X, &incX, Y, &incY);
}
void
blas_zdscal (const int N, const double alpha, void *X, const int incX)
{
F77_FUNC(zdscal) (&N, &alpha, X, &incX);
}
void
blas_zscal (const int N, const void *alpha, void *X, const int incX)
{
F77_FUNC(zscal) (&N, alpha, X, &incX);
}
void
blas_zrotg (void *a, void *b, void *c, void *s)
{
F77_FUNC(zrotg) (a, b, c, s);
}
void
blas_zdrot (const int N, void *X, const int incX,
void *Y, const int incY, const double c, const double s)
{
F77_FUNC(zdrot) (&N, X, &incX, Y, &incY, &c, &s);
}
void
blas_zgemv (const enum BLAS_TRANSPOSE TransA, const int M, const int N,
const void *alpha, const void *A, const int lda,
const void *X, const int incX, const void *beta,
void *Y, const int incY)
{
F77_FUNC(zgemv) (TRANS(TransA), &M, &N, alpha, A, &lda, X, &incX,
beta, Y, &incY);
}
void
blas_zgbmv (const enum BLAS_TRANSPOSE TransA, const int M, const int N,
const int KL, const int KU, const void *alpha,
const void *A, const int lda, const void *X,
const int incX, const void *beta, void *Y, const int incY)
{
F77_FUNC(zgbmv) (TRANS(TransA), &M, &N, &KL, &KU, alpha, A, &lda,
X, &incX, beta, Y, &incY);
}
void
blas_ztrmv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const void *A, const int lda,
void *X, const int incX)
{
F77_FUNC(ztrmv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, A, &lda,
X, &incX);
}
void
blas_ztbmv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const int K, const void *A, const int lda,
void *X, const int incX)
{
F77_FUNC(ztbmv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, &K, A, &lda,
X, &incX);
}
void
blas_ztpmv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const void *Ap, void *X, const int incX)
{
F77_FUNC(ztpmv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, Ap,
X, &incX);
}
void
blas_ztrsv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const void *A, const int lda, void *X,
const int incX)
{
F77_FUNC(ztrsv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, A, &lda,
X, &incX);
}
void
blas_ztbsv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const int K, const void *A, const int lda,
void *X, const int incX)
{
F77_FUNC(ztbsv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, &K, A, &lda,
X, &incX);
}
void
blas_ztpsv (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE TransA, const enum BLAS_DIAG Diag,
const int N, const void *Ap, void *X, const int incX)
{
F77_FUNC(ztpsv) (UPLO(Uplo), TRANS(TransA), DIAG(Diag), &N, Ap,
X, &incX);
}
void
blas_zhemv (const enum BLAS_UPLO Uplo,
const int N, const void *alpha, const void *A,
const int lda, const void *X, const int incX,
const void *beta, void *Y, const int incY)
{
F77_FUNC(zhemv) (UPLO(Uplo), &N, alpha, A, &lda, X, &incX,
beta, Y, &incY);
}
void
blas_zhbmv (const enum BLAS_UPLO Uplo,
const int N, const int K, const void *alpha, const void *A,
const int lda, const void *X, const int incX,
const void *beta, void *Y, const int incY)
{
F77_FUNC(zhbmv) (UPLO(Uplo), &N, &K, alpha, A, &lda, X, &incX,
beta, Y, &incY);
}
void
blas_zhpmv (const enum BLAS_UPLO Uplo,
const int N, const void *alpha, const void *Ap,
const void *X, const int incX,
const void *beta, void *Y, const int incY)
{
F77_FUNC(zhpmv) (UPLO(Uplo), &N, alpha, Ap, X, &incX, beta, Y, &incY);
}
void
blas_zgeru (const int M, const int N,
const void *alpha, const void *X, const int incX,
const void *Y, const int incY, void *A, const int lda)
{
F77_FUNC(zgeru) (&M, &N, alpha, X, &incX, Y, &incY, A, &lda);
}
void
blas_zgerc (const int M, const int N,
const void *alpha, const void *X, const int incX,
const void *Y, const int incY, void *A, const int lda)
{
F77_FUNC(zgerc) (&M, &N, alpha, X, &incX, Y, &incY, A, &lda);
}
void
blas_zher (const enum BLAS_UPLO Uplo,
const int N, const double alpha, const void *X,
const int incX, void *A, const int lda)
{
F77_FUNC(zher) (UPLO(Uplo), &N, &alpha, X, &incX, A, &lda);
}
void
blas_zhpr (const enum BLAS_UPLO Uplo,
const int N, const double alpha, const void *X,
const int incX, void *Ap)
{
F77_FUNC(zhpr) (UPLO(Uplo), &N, &alpha, X, &incX, Ap);
}
void
blas_zher2 (const enum BLAS_UPLO Uplo,
const int N, const void * alpha, const void *X,
const int incX, const void *Y, const int incY, void *A,
const int lda)
{
F77_FUNC(zher2) (UPLO(Uplo), &N, alpha, X, &incX, Y, &incY, A, &lda);
}
void
blas_zhpr2 (const enum BLAS_UPLO Uplo,
const int N, const void * alpha, const void *X,
const int incX, const void *Y, const int incY, void *A)
{
F77_FUNC(zhpr2) (UPLO(Uplo), &N, alpha, X, &incX, Y, &incY, A);
}
void
blas_zgemm (const enum BLAS_TRANSPOSE TransA,
const enum BLAS_TRANSPOSE TransB, const int M, const int N,
const int K, const void * alpha, const void *A,
const int lda, const void *B, const int ldb,
const void * beta, void *C, const int ldc)
{
F77_FUNC(zgemm) (TRANS(TransA), TRANS(TransB), &M, &N, &K,
alpha, A, &lda, B, &ldb, beta, C, &ldc);
}
void
blas_zsymm (const enum BLAS_SIDE Side,
const enum BLAS_UPLO Uplo, const int M, const int N,
const void * alpha, const void *A, const int lda,
const void *B, const int ldb, const void * beta,
void *C, const int ldc)
{
F77_FUNC(zsymm) (SIDE(Side), UPLO(Uplo), &M, &N,
alpha, A, &lda, B, &ldb, beta, C, &ldc);
}
void
blas_zsyrk (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE Trans, const int N, const int K,
const void * alpha, const void *A, const int lda,
const void * beta, void *C, const int ldc)
{
F77_FUNC(zsyrk) (UPLO(Uplo), TRANS(Trans), &N, &K,
alpha, A, &lda, beta, C, &ldc);
}
void
blas_zsyr2k (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE Trans, const int N, const int K,
const void * alpha, const void *A, const int lda,
const void *B, const int ldb, const void * beta,
void *C, const int ldc)
{
F77_FUNC(zsyr2k) (UPLO(Uplo), TRANS(Trans), &N, &K,
alpha, A, &lda, B, &ldb, beta, C, &ldc);
}
void
blas_zhemm (const enum BLAS_SIDE Side,
const enum BLAS_UPLO Uplo, const int M, const int N,
const void * alpha, const void *A, const int lda,
const void *B, const int ldb, const void * beta,
void *C, const int ldc)
{
F77_FUNC(zhemm) (SIDE(Side), UPLO(Uplo), &M, &N,
alpha, A, &lda, B, &ldb, beta, C, &ldc);
}
void
blas_zherk (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE Trans, const int N, const int K,
const double alpha, const void *A, const int lda,
const double beta, void *C, const int ldc)
{
F77_FUNC(zherk) (UPLO(Uplo), TRANS(Trans), &N, &K,
&alpha, A, &lda, &beta, C, &ldc);
}
void
blas_zher2k (const enum BLAS_UPLO Uplo,
const enum BLAS_TRANSPOSE Trans, const int N, const int K,
const void * alpha, const void *A, const int lda,
const void *B, const int ldb, const double beta,
void *C, const int ldc)
{
F77_FUNC(zher2k) (UPLO(Uplo), TRANS(Trans), &N, &K,
alpha, A, &lda, B, &ldb, &beta, C, &ldc);
}
void
blas_ztrmm (const enum BLAS_SIDE Side,
const enum BLAS_UPLO Uplo, const enum BLAS_TRANSPOSE TransA,
const enum BLAS_DIAG Diag, const int M, const int N,
const void * alpha, const void *A, const int lda,
void *B, const int ldb)
{
F77_FUNC(ztrmm) (SIDE(Side), UPLO(Uplo), TRANS(TransA), DIAG(Diag), &M, &N,
alpha, A, &lda, B, &ldb);
}
void
blas_ztrsm (const enum BLAS_SIDE Side,
const enum BLAS_UPLO Uplo, const enum BLAS_TRANSPOSE TransA,
const enum BLAS_DIAG Diag, const int M, const int N,
const void * alpha, const void *A, const int lda,
void *B, const int ldb)
{
F77_FUNC(ztrsm) (SIDE(Side), UPLO(Uplo), TRANS(TransA), DIAG(Diag), &M, &N,
alpha, A, &lda, B, &ldb);
}