32 A = (
double *)malloc( (*m)*LDA*
sizeof( double ) );
35 A[i*LDA+j]=a[j*(*lda)+i];
39 A = (
double* )malloc( LDA*(*k)*
sizeof( double ) );
42 A[i*LDA+j]=a[j*(*lda)+i];
46 B = (
double* )malloc( (*k)*LDB*
sizeof( double ) );
49 B[i*LDB+j]=b[j*(*ldb)+i];
53 B = (
double* )malloc( LDB*(*n)*
sizeof( double ) );
56 B[i*LDB+j]=b[j*(*ldb)+i];
59 C = (
double* )malloc( (*m)*LDC*
sizeof( double ) );
62 C[i*LDC+j]=c[j*(*ldc)+i];
65 B, LDB, *beta, C, LDC );
68 c[j*(*ldc)+i]=C[i*LDC+j];
75 b, *ldb, *beta, c, *ldc );
78 b, *ldb, *beta, c, *ldc );
98 A=(
double*)malloc((*n)*LDA*
sizeof(double));
100 for( j=0; j<*k; j++ ) {
101 A[i*LDA+j]=a[j*(*lda)+i];
106 A=(
double* )malloc(LDA*(*k)*
sizeof(double));
107 for( i=0; i<*k; i++ )
108 for( j=0; j<*n; j++ ) {
109 A[i*LDA+j]=a[j*(*lda)+i];
115 B=(
double* )malloc((*k)*LDB*
sizeof(double) );
116 for( i=0; i<*k; i++ )
117 for( j=0; j<*n; j++ ) {
118 B[i*LDB+j]=b[j*(*ldb)+i];
123 B=(
double* )malloc(LDB*(*n)*
sizeof(double));
124 for( i=0; i<*n; i++ )
125 for( j=0; j<*k; j++ ) {
126 B[i*LDB+j]=b[j*(*ldb)+i];
131 C=(
double* )malloc((*n)*LDC*
sizeof(double));
132 for( j=0; j<*n; j++ )
133 for( i=0; i<*n; i++ ) {
134 C[i*LDC+j]=c[j*(*ldc)+i];
137 B, LDB, *beta, C, LDC );
138 for( j=0; j<*n; j++ )
139 for( i=0; i<*n; i++ ) {
140 c[j*(*ldc)+i]=C[i*LDC+j];
148 b, *ldb, *beta, c, *ldc );
152 b, *ldb, *beta, c, *ldc );
178 A = (
double* )malloc( (*m)*LDA*
sizeof( double ) );
179 for( i=0; i<*m; i++ )
180 for( j=0; j<*m; j++ )
181 A[i*LDA+j]=a[j*(*lda)+i];
185 A = (
double* )malloc( (*n)*LDA*
sizeof( double ) );
186 for( i=0; i<*n; i++ )
187 for( j=0; j<*n; j++ )
188 A[i*LDA+j]=a[j*(*lda)+i];
191 B = (
double* )malloc( (*m)*LDB*
sizeof( double ) );
192 for( i=0; i<*m; i++ )
193 for( j=0; j<*n; j++ )
194 B[i*LDB+j]=b[j*(*ldb)+i];
196 C = (
double* )malloc( (*m)*LDC*
sizeof( double ) );
197 for( j=0; j<*n; j++ )
198 for( i=0; i<*m; i++ )
199 C[i*LDC+j]=c[j*(*ldc)+i];
200 cblas_dsymm(
CblasRowMajor, side, uplo, *m, *n, *alpha, A, LDA, B, LDB,
202 for( j=0; j<*n; j++ )
203 for( i=0; i<*m; i++ )
204 c[j*(*ldc)+i]=C[i*LDC+j];
210 cblas_dsymm(
CblasColMajor, side, uplo, *m, *n, *alpha, a, *lda, b, *ldb,
213 cblas_dsymm(
UNDEFINED, side, uplo, *m, *n, *alpha, a, *lda, b, *ldb,
218 double *alpha,
double *a,
CBLAS_INT *lda,
236 A = (
double* )malloc( (*n)*LDA*
sizeof( double ) );
237 for( i=0; i<*n; i++ )
238 for( j=0; j<*k; j++ )
239 A[i*LDA+j]=a[j*(*lda)+i];
243 A = (
double* )malloc( (*k)*LDA*
sizeof( double ) );
244 for( i=0; i<*k; i++ )
245 for( j=0; j<*n; j++ )
246 A[i*LDA+j]=a[j*(*lda)+i];
249 C = (
double* )malloc( (*n)*LDC*
sizeof( double ) );
250 for( i=0; i<*n; i++ )
251 for( j=0; j<*n; j++ )
252 C[i*LDC+j]=c[j*(*ldc)+i];
255 for( j=0; j<*n; j++ )
256 for( i=0; i<*n; i++ )
257 c[j*(*ldc)+i]=C[i*LDC+j];
288 A = (
double* )malloc( (*n)*LDA*
sizeof( double ) );
289 B = (
double* )malloc( (*n)*LDB*
sizeof( double ) );
290 for( i=0; i<*n; i++ )
291 for( j=0; j<*k; j++ ) {
292 A[i*LDA+j]=a[j*(*lda)+i];
293 B[i*LDB+j]=b[j*(*ldb)+i];
299 A = (
double* )malloc( LDA*(*k)*
sizeof( double ) );
300 B = (
double* )malloc( LDB*(*k)*
sizeof( double ) );
301 for( i=0; i<*k; i++ )
302 for( j=0; j<*n; j++ ){
303 A[i*LDA+j]=a[j*(*lda)+i];
304 B[i*LDB+j]=b[j*(*ldb)+i];
308 C = (
double* )malloc( (*n)*LDC*
sizeof( double ) );
309 for( i=0; i<*n; i++ )
310 for( j=0; j<*n; j++ )
311 C[i*LDC+j]=c[j*(*ldc)+i];
313 B, LDB, *beta, C, LDC );
314 for( j=0; j<*n; j++ )
315 for( i=0; i<*n; i++ )
316 c[j*(*ldc)+i]=C[i*LDC+j];
323 b, *ldb, *beta, c, *ldc );
326 b, *ldb, *beta, c, *ldc );
350 A = (
double* )malloc( (*m)*LDA*
sizeof( double ) );
351 for( i=0; i<*m; i++ )
352 for( j=0; j<*m; j++ )
353 A[i*LDA+j]=a[j*(*lda)+i];
357 A = (
double* )malloc( (*n)*LDA*
sizeof( double ) );
358 for( i=0; i<*n; i++ )
359 for( j=0; j<*n; j++ )
360 A[i*LDA+j]=a[j*(*lda)+i];
363 B = (
double* )malloc( (*m)*LDB*
sizeof( double ) );
364 for( i=0; i<*m; i++ )
365 for( j=0; j<*n; j++ )
366 B[i*LDB+j]=b[j*(*ldb)+i];
369 for( j=0; j<*n; j++ )
370 for( i=0; i<*m; i++ )
371 b[j*(*ldb)+i]=B[i*LDB+j];
405 A = (
double* )malloc( (*m)*LDA*
sizeof( double ) );
406 for( i=0; i<*m; i++ )
407 for( j=0; j<*m; j++ )
408 A[i*LDA+j]=a[j*(*lda)+i];
412 A = (
double* )malloc( (*n)*LDA*
sizeof( double ) );
413 for( i=0; i<*n; i++ )
414 for( j=0; j<*n; j++ )
415 A[i*LDA+j]=a[j*(*lda)+i];
418 B = (
double* )malloc( (*m)*LDB*
sizeof( double ) );
419 for( i=0; i<*m; i++ )
420 for( j=0; j<*n; j++ )
421 B[i*LDB+j]=b[j*(*ldb)+i];
424 for( j=0; j<*n; j++ )
425 for( i=0; i<*m; i++ )
426 b[j*(*ldb)+i]=B[i*LDB+j];
void cblas_dsymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, CBLAS_UPLO Uplo, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, const double *B, const CBLAS_INT ldb, const double beta, double *C, const CBLAS_INT ldc)
void cblas_dtrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, double *B, const CBLAS_INT ldb)
void cblas_dtrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, double *B, const CBLAS_INT ldb)
void cblas_dsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double beta, double *C, const CBLAS_INT ldc)
void cblas_dgemmtr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double *B, const CBLAS_INT ldb, const double beta, double *C, const CBLAS_INT ldc)
void cblas_dsyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE Trans, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double *B, const CBLAS_INT ldb, const double beta, double *C, const CBLAS_INT ldc)
void cblas_dgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double *B, const CBLAS_INT ldb, const double beta, double *C, const CBLAS_INT ldc)
#define BLAS_FORTRAN_STRLEN_END
void get_diag_type(char *type, CBLAS_DIAG *diag)
void get_side_type(char *type, CBLAS_SIDE *side)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)