drasys.or.linear.blas
Class BLAS3

java.lang.Object
  |
  +--drasys.or.linear.blas.BLAS3

public class BLAS3
extends java.lang.Object
implements BLAS3I

Serial implementation of the BLAS3. See BLAS3I for more details.


Constructor Summary
BLAS3()
           
 
Method Summary
 void cgemm(int m, int n, int k, ComplexI alpha, float[] A, int begA, int incAi, int incAj, float[] B, int begB, int incBi, int incBj, ComplexI beta, float[] C, int begC, int incCi, int incCj)
          Computes: C = alpha*A*B + beta*C.
 void dgemm(int m, int n, int k, double alpha, double[] A, int begA, int incAi, int incAj, double[] B, int begB, int incBi, int incBj, double beta, double[] C, int begC, int incCi, int incCj)
          Computes: C = alpha*A*B + beta*C.
 void sgemm(int m, int n, int k, float alpha, float[] A, int begA, int incAi, int incAj, float[] B, int begB, int incBi, int incBj, float beta, float[] C, int begC, int incCi, int incCj)
          Computes: C = alpha*A*B + beta*C.
 void zgemm(int m, int n, int k, ComplexI alpha, double[] A, int begA, int incAi, int incAj, double[] B, int begB, int incBi, int incBj, ComplexI beta, double[] C, int begC, int incCi, int incCj)
          Computes: C = alpha*A*B + beta*C.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BLAS3

public BLAS3()
Method Detail

dgemm

public void dgemm(int m,
                  int n,
                  int k,
                  double alpha,
                  double[] A,
                  int begA,
                  int incAi,
                  int incAj,
                  double[] B,
                  int begB,
                  int incBi,
                  int incBj,
                  double beta,
                  double[] C,
                  int begC,
                  int incCi,
                  int incCj)
           throws BlasException
Computes: C = alpha*A*B + beta*C. The transpose of 'A' can be used by swapping 'incAi' and 'incAj'. The transpose of 'B' can be used by swapping 'incBi' and 'incBj'.
Specified by:
dgemm in interface BLAS3I
Parameters:
m - number of rows in 'A' and 'C'
n - number of columns in 'B' and 'C'
k - number of columns in 'A' and rows in 'B'
alpha - constant scaler
A - the matrix 'A' in contiguous format
begA - offset of the first element of 'A'
incAi - row increment for matrix 'A'
incAj - column increment for matrix 'A'
B - the matrix 'B' in contiguous format
begB - offset of the first element of 'B'
incBi - row increment for matrix 'B'
incBj - column increment for matrix 'B'
beta - constant scaler
C - the matrix 'C' in contiguous format
begC - offset of the first element of 'B'
incCi - row increment for matrix 'B'
incCj - column increment for matrix 'B'

sgemm

public void sgemm(int m,
                  int n,
                  int k,
                  float alpha,
                  float[] A,
                  int begA,
                  int incAi,
                  int incAj,
                  float[] B,
                  int begB,
                  int incBi,
                  int incBj,
                  float beta,
                  float[] C,
                  int begC,
                  int incCi,
                  int incCj)
           throws BlasException
Computes: C = alpha*A*B + beta*C. The transpose of 'A' can be used by swapping 'incAi' and 'incAj'. The transpose of 'B' can be used by swapping 'incBi' and 'incBj'.
Specified by:
sgemm in interface BLAS3I
Parameters:
m - number of rows in 'A' and 'C'
n - number of columns in 'B' and 'C'
k - number of columns in 'A' and rows in 'B'
alpha - constant scaler
A - the matrix 'A' in contiguous format
begA - offset of the first element of 'A'
incAi - row increment for matrix 'A'
incAj - column increment for matrix 'A'
B - the matrix 'B' in contiguous format
begB - offset of the first element of 'B'
incBi - row increment for matrix 'B'
incBj - column increment for matrix 'B'
beta - constant scaler
C - the matrix 'C' in contiguous format
begC - offset of the first element of 'B'
incCi - row increment for matrix 'B'
incCj - column increment for matrix 'B'

zgemm

public void zgemm(int m,
                  int n,
                  int k,
                  ComplexI alpha,
                  double[] A,
                  int begA,
                  int incAi,
                  int incAj,
                  double[] B,
                  int begB,
                  int incBi,
                  int incBj,
                  ComplexI beta,
                  double[] C,
                  int begC,
                  int incCi,
                  int incCj)
           throws BlasException
Computes: C = alpha*A*B + beta*C. The transpose of 'A' can be used by swapping 'incAi' and 'incAj'. The transpose of 'B' can be used by swapping 'incBi' and 'incBj'.
Specified by:
zgemm in interface BLAS3I
Parameters:
m - number of rows in 'A' and 'C'
n - number of columns in 'B' and 'C'
k - number of columns in 'A' and rows in 'B'
alpha - constant scaler
A - the matrix 'A' in contiguous format
begA - offset of the first element of 'A'
incAi - row increment for matrix 'A'
incAj - column increment for matrix 'A'
B - the matrix 'B' in contiguous format
begB - offset of the first element of 'B'
incBi - row increment for matrix 'B'
incBj - column increment for matrix 'B'
beta - constant scaler
C - the matrix 'C' in contiguous format
begC - offset of the first element of 'B'
incCi - row increment for matrix 'B'
incCj - column increment for matrix 'B'

cgemm

public void cgemm(int m,
                  int n,
                  int k,
                  ComplexI alpha,
                  float[] A,
                  int begA,
                  int incAi,
                  int incAj,
                  float[] B,
                  int begB,
                  int incBi,
                  int incBj,
                  ComplexI beta,
                  float[] C,
                  int begC,
                  int incCi,
                  int incCj)
           throws BlasException
Computes: C = alpha*A*B + beta*C. The transpose of 'A' can be used by swapping 'incAi' and 'incAj'. The transpose of 'B' can be used by swapping 'incBi' and 'incBj'.
Specified by:
cgemm in interface BLAS3I
Parameters:
m - number of rows in 'A' and 'C'
n - number of columns in 'B' and 'C'
k - number of columns in 'A' and rows in 'B'
alpha - constant scaler
A - the matrix 'A' in contiguous format
begA - offset of the first element of 'A'
incAi - row increment for matrix 'A'
incAj - column increment for matrix 'A'
B - the matrix 'B' in contiguous format
begB - offset of the first element of 'B'
incBi - row increment for matrix 'B'
incBj - column increment for matrix 'B'
beta - constant scaler
C - the matrix 'C' in contiguous format
begC - offset of the first element of 'B'
incCi - row increment for matrix 'B'
incCj - column increment for matrix 'B'


Copyright(C)1997-2000 by DRA Systems all rights reserved. OpsResearch.com