vSgemul(_:_:_:_:_:_:_:_:)
Multiplies two general matrices or their transposes.
Declaration
func vSgemul(_ l: Int32, _ m: Int32, _ n: Int32, _ a: UnsafePointer<vFloat>, _ forma: CChar, _ b: UnsafePointer<vFloat>, _ formb: CChar, _ matrix: UnsafeMutablePointer<vFloat>)Parameters
- l:
Number of rows in matrix
matrix; must be a multiple of 4. - m:
If
forma= ‘N’,mis the number of columns in matrixa; if forma = ‘T’,mis the number of rows in matrixa. Also, ifformb= ‘N’,mis the number of rows in matrixb; if formb = ‘T’,mis the number of columns in matrixb.mmust be a multiple of 4. - n:
Number of columns in the matrix
matrix; must be a multiple of 4. - a:
A matrix with elements of type
float. Ifforma= ‘N’, the matrix itself is used in the calculation and it haslrows andmcolumns. Ifforma= ‘T’, the transpose is used andahasmrows andlcolumns. Thus the matrix used in the calculation islbym. - forma:
Selector with a value of ‘N’ or ‘T’.
- b:
A matrix with elements of type
float. Ifformb= ‘N’, the matrix itself is used in the calculation and it hasmrows andncolumns. Ifformb= ‘T’, the transpose is used andbhasnrows andmcolumns. Thus the matrix used in the calculation ismbyn. - formb:
Selector with a value of ‘N’ or ‘T’.
- matrix:
Destination matrix with
lrows andncolumns.
Discussion
Matrix a (or its transpose) is multiplied by matrix b (or its transpose); the result is stored in matrix matrix.