mfi_gemm Interface

public interface mfi_gemm

Generic modern interface for GEMM. Supports s, d, c, z. See also: sgemm, dgemm, cgemm, zgemm.


Module Procedures

public pure subroutine mfi_sgemm(a, b, c, transa, transb, alpha, beta)

Modern interface for sgemm. See also: mfi_gemm, f77_gemm.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL32), intent(in) :: a(:,:)
real(kind=REAL32), intent(in) :: b(:,:)
real(kind=REAL32), intent(inout) :: c(:,:)
character(len=1), intent(in), optional :: transa
character(len=1), intent(in), optional :: transb
real(kind=REAL32), intent(in), optional :: alpha
real(kind=REAL32), intent(in), optional :: beta

public pure subroutine mfi_dgemm(a, b, c, transa, transb, alpha, beta)

Modern interface for dgemm. See also: mfi_gemm, f77_gemm.

Arguments

Type IntentOptional Attributes Name
real(kind=REAL64), intent(in) :: a(:,:)
real(kind=REAL64), intent(in) :: b(:,:)
real(kind=REAL64), intent(inout) :: c(:,:)
character(len=1), intent(in), optional :: transa
character(len=1), intent(in), optional :: transb
real(kind=REAL64), intent(in), optional :: alpha
real(kind=REAL64), intent(in), optional :: beta

public pure subroutine mfi_cgemm(a, b, c, transa, transb, alpha, beta)

Modern interface for cgemm. See also: mfi_gemm, f77_gemm.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL32), intent(in) :: a(:,:)
complex(kind=REAL32), intent(in) :: b(:,:)
complex(kind=REAL32), intent(inout) :: c(:,:)
character(len=1), intent(in), optional :: transa
character(len=1), intent(in), optional :: transb
complex(kind=REAL32), intent(in), optional :: alpha
complex(kind=REAL32), intent(in), optional :: beta

public pure subroutine mfi_zgemm(a, b, c, transa, transb, alpha, beta)

Modern interface for zgemm. See also: mfi_gemm, f77_gemm.

Arguments

Type IntentOptional Attributes Name
complex(kind=REAL64), intent(in) :: a(:,:)
complex(kind=REAL64), intent(in) :: b(:,:)
complex(kind=REAL64), intent(inout) :: c(:,:)
character(len=1), intent(in), optional :: transa
character(len=1), intent(in), optional :: transb
complex(kind=REAL64), intent(in), optional :: alpha
complex(kind=REAL64), intent(in), optional :: beta