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

Go to the source code of this file.

Functions

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

Function Documentation

◆ ddot_ur()

void ddot_ur ( int  n,
float  dx[n],
float  dy[n],
float *  r 
)

Definition at line 5 of file ddot_ur.c.

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

Referenced by main().

+ Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 30 of file ddot_ur.c.

31 {
32  int i,n;
33  float a, *b, *c;
34  if (argc < 3)
35  {
36  fprintf(stderr, "Usage: %s size data_file\n", argv[0]);
37  return 1;
38  }
39  n = atoi(argv[1]);
40  b = (float*) malloc(n * sizeof(float));
41  c = (float*) malloc(n * sizeof(float));
42  init_data_file(argv[2]);
43  init_data_float(b,n);
44  init_data_float(c,n);
46  ddot_ur(n,b, c, &a);
47  printf("%f\n",a);
48  free(b);
49  free(c);
50 }
void ddot_ur(int n, float dx[n], float dy[n], float *r)
Definition: ddot_ur.c:5
void * malloc(YYSIZE_T)
void free(void *)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
int printf()
void close_data_file()
Definition: tools.c:48
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(), ddot_ur(), fprintf(), free(), init_data_file(), init_data_float(), malloc(), and printf().

+ Here is the call graph for this function: