PIPS
daxpy_ur.c File Reference
#include <stdio.h>
#include <stdlib.h>
+ Include dependency graph for daxpy_ur.c:

Go to the source code of this file.

Functions

void daxpy_ur (int n, float da, float dx[n], float dy[n])
 
int main (int argc, char *argv[])
 

Function Documentation

◆ daxpy_ur()

void daxpy_ur ( int  n,
float  da,
float  dx[n],
float  dy[n] 
)

Definition at line 5 of file daxpy_ur.c.

6 {
7  int i,m;
8  m = n % 4;
9  if ( m != 0)
10  {
11  for (i = 0; i < m; i++)
12  dy[i] = dy[i] + da*dx[i];
13  if (n < 4)
14  return;
15  }
16  for (i = m; i < n; i = i + 4)
17  {
18  dy[i] = dy[i] + da*dx[i];
19  dy[i+1] = dy[i+1] + da*dx[i+1];
20  dy[i+2] = dy[i+2] + da*dx[i+2];
21  dy[i+3] = dy[i+3] + da*dx[i+3];
22  }
23 }

Referenced by main().

+ Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 25 of file daxpy_ur.c.

26 {
27  int n;
28  float (*dx)[n],(*dy)[n];
29  int i;
30  if (argc < 3)
31  {
32  fprintf(stderr, "Usage: %s size data_file\n", argv[0]);
33  return 1;
34  }
35  n = atoi(argv[1]);
36 // dx=malloc(sizeof(float)*n);
37 // dy=malloc(sizeof(float)*n);
38  posix_memalign(&dx, 32, sizeof(float)*n);
39  posix_memalign(&dy, 32, sizeof(float)*n);
40  init_data_file(argv[2]);
41  init_data_float(dx,n);
42  init_data_float(dy,n);
44  daxpy_ur(n,.5*n,*dx,*dy);
45  print_array_float("dy",dy,n);
46  free(dx);
47  free(dy);
48  return 0;
49 }
void daxpy_ur(int n, float da, float dx[n], float dy[n])
Definition: daxpy_ur.c:5
void free(void *)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
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

References close_data_file(), daxpy_ur(), fprintf(), free(), init_data_file(), init_data_float(), and print_array_float().

+ Here is the call graph for this function: