Report a bug
If you spot a problem with this page, click here to create a Github issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

glas.fortran

BLAS API for GLAS

Please read Netlib BLAS for more details.

Note: Standard (fortran) BLAS API is column major.

Authors:
Ilya Yaroshenko
alias FortranInt = int;
Alias for Fortran77 integer.
nothrow @nogc @system int sgemm_(ref const char transa, ref const char transb, ref const FortranInt m, ref const FortranInt n, ref const FortranInt k, ref const float alpha, const(float)* a, ref const FortranInt lda, const(float)* b, ref const FortranInt ldb, ref const float beta, float* c, ref const FortranInt ldc);

nothrow @nogc @system int dgemm_(ref const char transa, ref const char transb, ref const FortranInt m, ref const FortranInt n, ref const FortranInt k, ref const double alpha, const(double)* a, ref const FortranInt lda, const(double)* b, ref const FortranInt ldb, ref const double beta, double* c, ref const FortranInt ldc);

nothrow @nogc @system int cgemm_(ref const char transa, ref const char transb, ref const FortranInt m, ref const FortranInt n, ref const FortranInt k, ref const cfloat alpha, const(cfloat)* a, ref const FortranInt lda, const(cfloat)* b, ref const FortranInt ldb, ref const cfloat beta, cfloat* c, ref const FortranInt ldc);

nothrow @nogc @system int zgemm_(ref const char transa, ref const char transb, ref const FortranInt m, ref const FortranInt n, ref const FortranInt k, ref const cdouble alpha, const(cdouble)* a, ref const FortranInt lda, const(cdouble)* b, ref const FortranInt ldb, ref const cdouble beta, cdouble* c, ref const FortranInt ldc);
gemm_ performs one of the matrix-matrix operations
C := alpha*op( A )*op( B ) + beta*C,
where op( X ) is one of
op( X ) = X or op( X ) = X**T or op( X ) = X**H,
alpha and beta are scalars, and A, B and C are matrices, with op( A ) an mk matrix, op( B ) a kn matrix and C an mn matrix.

Unified alias: gemm_

nothrow @nogc @system int ssymm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const float alpha, const(float)* a, ref const FortranInt lda, const(float)* b, ref const FortranInt ldb, ref const float beta, float* c, ref const FortranInt ldc);

nothrow @nogc @system int dsymm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const double alpha, const(double)* a, ref const FortranInt lda, const(double)* b, ref const FortranInt ldb, ref const double beta, double* c, ref const FortranInt ldc);

nothrow @nogc @system int csymm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const cfloat alpha, const(cfloat)* a, ref const FortranInt lda, const(cfloat)* b, ref const FortranInt ldb, ref const cfloat beta, cfloat* c, ref const FortranInt ldc);

nothrow @nogc @system int zsymm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const cdouble alpha, const(cdouble)* a, ref const FortranInt lda, const(cdouble)* b, ref const FortranInt ldb, ref const cdouble beta, cdouble* c, ref const FortranInt ldc);
symm_ performs one of the matrix-matrix operations
C := alpha*A*B + beta*C,
where op( X ) is one of
C := alpha*B*A + beta*C,
alpha and beta are scalars, A is a symmetric matrix and B and C are mn matrices..

Unified alias: symm_

nothrow @nogc @system int chemm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const cfloat alpha, const(cfloat)* a, ref const FortranInt lda, const(cfloat)* b, ref const FortranInt ldb, ref const cfloat beta, cfloat* c, ref const FortranInt ldc);

nothrow @nogc @system int zhemm_(ref const char side, ref const char uplo, ref const FortranInt m, ref const FortranInt n, ref const cdouble alpha, const(cdouble)* a, ref const FortranInt lda, const(cdouble)* b, ref const FortranInt ldb, ref const cdouble beta, cdouble* c, ref const FortranInt ldc);
hemm_ performs one of the matrix-matrix operations
C := alpha*A*B + beta*C,
where op( X ) is one of
C := alpha*B*A + beta*C,
alpha and beta are scalars, A is a hermitian matrix and B and C are mn matrices..

Unified alias: hemm_

nothrow @nogc @system int sscal_(ref const FortranInt n, ref const float a, float* x, ref const FortranInt incx);

nothrow @nogc @system int dscal_(ref const FortranInt n, ref const double a, double* x, ref const FortranInt incx);

nothrow @nogc @system int csscal_(ref const FortranInt n, ref const float a, cfloat* x, ref const FortranInt incx);

nothrow @nogc @system int cscal_(ref const FortranInt n, ref const cfloat a, cfloat* x, ref const FortranInt incx);

nothrow @nogc @system int csIscal_(ref const FortranInt n, ref const ifloat a, cfloat* x, ref const FortranInt incx);

nothrow @nogc @system int zdscal_(ref const FortranInt n, ref const double a, cdouble* x, ref const FortranInt incx);

nothrow @nogc @system int zscal_(ref const FortranInt n, ref const cdouble a, cdouble* x, ref const FortranInt incx);

nothrow @nogc @system int zdIscal_(ref const FortranInt n, ref const idouble a, cdouble* x, ref const FortranInt incx);
scal_ scales a vector by a constant.

Unified alias: scal_

nothrow @nogc @system int xerbla_(in char* srname, ref FortranInt info);
XERBLA is an error handler for the LAPACK routines. It is called by an LAPACK routine if an input parameter has an invalid value. A message is printed and execution stops.
Installers may consider modifying the STOP statement in order to call system-specific exception-handling facilities.