| [ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Os protótipos para as funções CBLAS de baixo nível são declarados no arquivo ‘gsl_cblas.h’. Para a definição da funções consulte a documentação disponível na Netlib (veja seção Referências e Leituras Adicionais).
| D.1 Nível 1 | ||
| D.2 Nível 2 | ||
| D.3 Nível 3 | ||
| D.4 Exemplos |
| [ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
| [ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
| [ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
| [ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
O seguinte programa calcula produto de duas matrizes usando a
função SGEMM contida na BLAS Nível-3,
|
cblas_sgemm for
mudado para CblasColMajor.
#include <stdio.h>
#include <gsl/gsl_cblas.h>
int
main (void)
{
int lda = 3;
float A[] = { 0.11, 0.12, 0.13,
0.21, 0.22, 0.23 };
int ldb = 2;
float B[] = { 1011, 1012,
1021, 1022,
1031, 1032 };
int ldc = 2;
float C[] = { 0.00, 0.00,
0.00, 0.00 };
/* Compute C = A B */
cblas_sgemm (CblasRowMajor,
CblasNoTrans, CblasNoTrans, 2, 2, 3,
1.0, A, lda, B, ldb, 0.0, C, ldc);
printf ("[ %g, %g\n", C[0], C[1]);
printf (" %g, %g ]\n", C[2], C[3]);
return 0;
}
Para compilar o programa use a seguinte linha de comando,
$ gcc -Wall demo.c -lgslcblas
Não precisa linkar com a bilioteca principal -lgsl nesse
caso uma vez que a biblioteca CBLAS está em uma unidade independente. Aqui está a saída
do programa,
$ ./a.out[ 367.76, 368.12 674.06, 674.72 ]
| [ << ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Esse documento foi gerado em 23 de Julho de 2013 usando texi2html 5.0.