Blame doc/examples/blas.c

Packit 67cb25
#include <stdio.h>
Packit 67cb25
#include <gsl/gsl_blas.h>
Packit 67cb25
Packit 67cb25
int
Packit 67cb25
main (void)
Packit 67cb25
{
Packit 67cb25
  double a[] = { 0.11, 0.12, 0.13,
Packit 67cb25
                 0.21, 0.22, 0.23 };
Packit 67cb25
Packit 67cb25
  double b[] = { 1011, 1012,
Packit 67cb25
                 1021, 1022,
Packit 67cb25
                 1031, 1032 };
Packit 67cb25
Packit 67cb25
  double c[] = { 0.00, 0.00,
Packit 67cb25
                 0.00, 0.00 };
Packit 67cb25
Packit 67cb25
  gsl_matrix_view A = gsl_matrix_view_array(a, 2, 3);
Packit 67cb25
  gsl_matrix_view B = gsl_matrix_view_array(b, 3, 2);
Packit 67cb25
  gsl_matrix_view C = gsl_matrix_view_array(c, 2, 2);
Packit 67cb25
Packit 67cb25
  /* Compute C = A B */
Packit 67cb25
Packit 67cb25
  gsl_blas_dgemm (CblasNoTrans, CblasNoTrans,
Packit 67cb25
                  1.0, &A.matrix, &B.matrix,
Packit 67cb25
                  0.0, &C.matrix);
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
}