glas.ndslice

Members

Aliases

gemm
alias gemm = glas_sgemm
alias gemm = glas_dgemm
alias gemm = glas_cgemm
alias gemm = glas_zgemm

Performs general matrix-matrix multiplication.

scal
alias scal = glas_sscal
alias scal = glas_dscal
alias scal = glas_csscal
alias scal = glas_cscal
alias scal = glas_csIscal
alias scal = glas_zdscal
alias scal = glas_zscal
alias scal = glas_zdIscal
alias scal = _glas_sscal
alias scal = _glas_dscal
alias scal = _glas_csscal
alias scal = _glas_cscal
alias scal = _glas_csIscal
alias scal = _glas_zdscal
alias scal = _glas_zscal
alias scal = _glas_zdIscal

scal scales a vector by a constant.

symm
alias symm = glas_ssymm
alias symm = glas_dsymm
alias symm = glas_csymm
alias symm = glas_zsymm

Performs symmetric or hermitian matrix-matrix multiplication.

validate_gemm
alias validate_gemm = glas_validate_gemm

Validates input data for GEMM operations.

validate_symm
alias validate_symm = glas_validate_symm

Validates input data for SYMM operations.

Enums

SliceKind
enum SliceKind
Undocumented in source.

Functions

_glas_csIscal
void _glas_csIscal(ifloat a, size_t n, size_t incx, cfloat* x)
_glas_cscal
void _glas_cscal(cfloat a, size_t n, size_t incx, cfloat* x)
_glas_csscal
void _glas_csscal(float a, size_t n, size_t incx, cfloat* x)
_glas_dscal
void _glas_dscal(double a, size_t n, size_t incx, double* x)
_glas_sscal
void _glas_sscal(float a, size_t n, size_t incx, float* x)
_glas_zdIscal
void _glas_zdIscal(idouble a, size_t n, size_t incx, cdouble* x)
_glas_zdscal
void _glas_zdscal(double a, size_t n, size_t incx, cdouble* x)
_glas_zscal
void _glas_zscal(cdouble a, size_t n, size_t incx, cdouble* x)

scal scales a vector by a constant.

glas_cgemm
void glas_cgemm(cfloat alpha, Slice!(SliceKind.universal, [2], const(cfloat)*) asl, Slice!(SliceKind.universal, [2], const(cfloat)*) bsl, cfloat beta, Slice!(SliceKind.universal, [2], cfloat*) csl, ulong settings)

Performs general matrix-matrix multiplication.

glas_csIscal
void glas_csIscal(ifloat a, Slice!(SliceKind.universal, [1], cfloat*) xsl)
glas_cscal
void glas_cscal(cfloat a, Slice!(SliceKind.universal, [1], cfloat*) xsl)
glas_csscal
void glas_csscal(float a, Slice!(SliceKind.universal, [1], cfloat*) xsl)

scal scales a vector by a constant.

glas_csymm
void glas_csymm(cfloat alpha, Slice!(SliceKind.universal, [2], const(cfloat)*) asl, Slice!(SliceKind.universal, [2], const(cfloat)*) bsl, cfloat beta, Slice!(SliceKind.universal, [2], cfloat*) csl, ulong settings)

Performs symmetric or hermitian matrix-matrix multiplication.

glas_dgemm
void glas_dgemm(double alpha, Slice!(SliceKind.universal, [2], const(double)*) asl, Slice!(SliceKind.universal, [2], const(double)*) bsl, double beta, Slice!(SliceKind.universal, [2], double*) csl, ulong settings)

Performs general matrix-matrix multiplication.

glas_dscal
void glas_dscal(double a, Slice!(SliceKind.universal, [1], double*) xsl)

scal scales a vector by a constant.

glas_dsymm
void glas_dsymm(double alpha, Slice!(SliceKind.universal, [2], const(double)*) asl, Slice!(SliceKind.universal, [2], const(double)*) bsl, double beta, Slice!(SliceKind.universal, [2], double*) csl, ulong settings)

Performs symmetric or hermitian matrix-matrix multiplication.

glas_error
string glas_error(int error_code)
glas_sgemm
void glas_sgemm(float alpha, Slice!(SliceKind.universal, [2], const(float)*) asl, Slice!(SliceKind.universal, [2], const(float)*) bsl, float beta, Slice!(SliceKind.universal, [2], float*) csl, ulong settings)

Performs general matrix-matrix multiplication.

glas_sscal
void glas_sscal(float a, Slice!(SliceKind.universal, [1], float*) xsl)

scal scales a vector by a constant.

glas_ssymm
void glas_ssymm(float alpha, Slice!(SliceKind.universal, [2], const(float)*) asl, Slice!(SliceKind.universal, [2], const(float)*) bsl, float beta, Slice!(SliceKind.universal, [2], float*) csl, ulong settings)

Performs symmetric or hermitian matrix-matrix multiplication.

glas_validate_gemm
int glas_validate_gemm(Structure!2 as, Structure!2 bs, Structure!2 cs, ulong settings)

Validates input data for GEMM operations.

glas_validate_symm
int glas_validate_symm(Structure!2 as, Structure!2 bs, Structure!2 cs, ulong settings)

Validates input data for SYMM operations.

glas_zdIscal
void glas_zdIscal(idouble a, Slice!(SliceKind.universal, [1], cdouble*) xsl)
glas_zdscal
void glas_zdscal(double a, Slice!(SliceKind.universal, [1], cdouble*) xsl)

scal scales a vector by a constant.

glas_zgemm
void glas_zgemm(cdouble alpha, Slice!(SliceKind.universal, [2], const(cdouble)*) asl, Slice!(SliceKind.universal, [2], const(cdouble)*) bsl, cdouble beta, Slice!(SliceKind.universal, [2], cdouble*) csl, ulong settings)

Performs general matrix-matrix multiplication.

glas_zscal
void glas_zscal(cdouble a, Slice!(SliceKind.universal, [1], cdouble*) xsl)

scal scales a vector by a constant.

glas_zsymm
void glas_zsymm(cdouble alpha, Slice!(SliceKind.universal, [2], const(cdouble)*) asl, Slice!(SliceKind.universal, [2], const(cdouble)*) bsl, cdouble beta, Slice!(SliceKind.universal, [2], cdouble*) csl, ulong settings)

Performs symmetric or hermitian matrix-matrix multiplication.

Structs

Slice
struct Slice(SliceKind kind, size_t[] packs, Iterator)
Undocumented in source.
Structure
struct Structure(size_t N)
Undocumented in source.

Variables

ConjA
enum ulong ConjA;

Specifies if the matrix asl stores conjugated elements.

ConjB
enum ulong ConjB;

Specifies if the matrix bsl stores conjugated elements.

Left
enum ulong Left;

Specifies if the symmetric/hermitian matrix A appears on the left in the operation.

Lower
enum ulong Lower;

Specifies if the lower triangular part of the symmetric matrix A is to be referenced.

Right
enum ulong Right;

Specifies if the symmetric/hermitian matrix A appears on the left in the operation.

Upper
enum ulong Upper;

Specifies if the upper triangular part of the symmetric matrix A is to be referenced.

Meta

Authors

Ilya Yaroshenko

Transposition

GLAS does not require transposition parameters. Use transposed to perform zero cost ndslice transposition.

Note: ndslice uses is row major representation.