Blame doc/examples/cblas.c
|
Packit |
67cb25 |
#include <stdio.h>
|
|
Packit |
67cb25 |
#include <gsl/gsl_cblas.h>
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
main (void)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int lda = 3;
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
float A[] = { 0.11, 0.12, 0.13,
|
|
Packit |
67cb25 |
0.21, 0.22, 0.23 };
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int ldb = 2;
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
float B[] = { 1011, 1012,
|
|
Packit |
67cb25 |
1021, 1022,
|
|
Packit |
67cb25 |
1031, 1032 };
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int ldc = 2;
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
float C[] = { 0.00, 0.00,
|
|
Packit |
67cb25 |
0.00, 0.00 };
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
/* Compute C = A B */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
cblas_sgemm (CblasRowMajor,
|
|
Packit |
67cb25 |
CblasNoTrans, CblasNoTrans, 2, 2, 3,
|
|
Packit |
67cb25 |
1.0, A, lda, B, ldb, 0.0, C, ldc);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
printf ("[ %g, %g\n", C[0], C[1]);
|
|
Packit |
67cb25 |
printf (" %g, %g ]\n", C[2], C[3]);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
return 0;
|
|
Packit |
67cb25 |
}
|