PIPS
matrix_mul_vect.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <stdlib.h>
3 
4 #include "tools.h"
5 
6 
7 void matrix_mul_vect(size_t N, float C[N], float A[N][N], float B[N]) {
8  size_t i,j;
9  for (i=0; i<N; i++) {
10  C[i]=0;
11  for (j=0; j<N; j++) {
12  C[i]+=A[i][j] * B[j];
13  }
14  }
15 }
16 
17 
18 int main(int argc, char ** argv) {
19  int i,j,n;
20  float *a,*b,*c;
21  if (argc < 3)
22  {
23  fprintf(stderr, "Usage: %s size data_file\n", argv[0]);
24  return 1;
25  }
26  n = atoi(argv[1]);
27  a=malloc(sizeof(float)*n*n);
28  b=malloc(sizeof(float)*n);
29  c=malloc(sizeof(float)*n);
30 
31  init_data_file(argv[2]);
32  init_data_float(a,n*n);
33  init_data_float(b,n);
35  matrix_mul_vect(n,c,a,b);
36 
37  print_array_float("c",c,n);
38  free(a);
39  free(b);
40  free(c);
41 
42  return 0;
43 }
void * malloc(YYSIZE_T)
void free(void *)
#define B(A)
Definition: iabrev.h:61
int main(int argc, char **argv)
void matrix_mul_vect(size_t N, float C[N], float A[N][N], float B[N])
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
Definition: pip__tab.h:25
void close_data_file()
Definition: tools.c:48
void print_array_float(const char *name, const float *arr, const unsigned int n)
Definition: tools.c:54
int init_data_float(float *ptr, const unsigned int n)
Definition: tools.c:125
void init_data_file(const char *data_file)
Definition: tools.c:36