Xmipp  v3.23.11-Nereus
Functions
lib_vec.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void zero_vect (double *, unsigned long)
 
void do_vect (double **, unsigned long)
 
void zero_mat (double **, unsigned long, unsigned long)
 
void cp_vect (double **, double **, unsigned long)
 
void cp_vect_destroy (double **, double **, unsigned long)
 
void add_scaled_vect (double *, double *, double, unsigned long)
 
void * alloc_vect (unsigned int n, size_t elem_size)
 
void free_vect_and_zero_ptr (void **)
 
void free_mat_and_zero_ptr (void ***)
 

Function Documentation

◆ add_scaled_vect()

void add_scaled_vect ( double *  ,
double *  ,
double  ,
unsigned  long 
)

Definition at line 61 of file lib_vec.cpp.

62 {
63  unsigned long i;
64  for (i = 0; i < len; ++i)
65  to_vect[i] += scalar * from_vect[i];
66 }
#define i
#define len

◆ alloc_vect()

void* alloc_vect ( unsigned int  n,
size_t  elem_size 
)

Definition at line 71 of file lib_vec.cpp.

72 {
73  void *pvect;
74 
75  pvect = calloc(n, elem_size);
76  if (!pvect) {
77  error_memory_allocation(99901, "lib_cvq");
78  }
79  return pvect;
80 };
int * n
void error_memory_allocation(int error_number, const char *program)
Definition: lib_err.cpp:50

◆ cp_vect()

void cp_vect ( double **  ,
double **  ,
unsigned  long 
)

Definition at line 44 of file lib_vec.cpp.

45 {
46  memcpy(*vect1, *vect2, len * sizeof(double));
47 }
#define len

◆ cp_vect_destroy()

void cp_vect_destroy ( double **  ,
double **  ,
unsigned  long 
)

Definition at line 51 of file lib_vec.cpp.

52 {
53  if (*pvect1)
54  free(*pvect1);
55  do_vect(pvect1, len);
56  cp_vect(pvect1, pvect2, len);
57  free_vect_and_zero_ptr((void**)pvect2);
58 }
void free_vect_and_zero_ptr(void **pvect)
Definition: lib_vec.cpp:83
free((char *) ob)
#define len
void do_vect(double **pvect, unsigned long len)
Definition: lib_vec.cpp:32
void cp_vect(double **vect1, double **vect2, unsigned long len)
Definition: lib_vec.cpp:44

◆ do_vect()

void do_vect ( double **  ,
unsigned  long 
)

Definition at line 32 of file lib_vec.cpp.

33 {
34  *pvect = (double *) alloc_vect(len, sizeof(double));
35 }
#define len
void * alloc_vect(unsigned int n, size_t elem_size)
Definition: lib_vec.cpp:71

◆ free_mat_and_zero_ptr()

void free_mat_and_zero_ptr ( void ***  )

Definition at line 92 of file lib_vec.cpp.

93 {
94  if (*pmat) {
95  if (**pmat)
96  free(**pmat);
97  free(*pmat);
98  *pmat = 0;
99  }
100 }
free((char *) ob)

◆ free_vect_and_zero_ptr()

void free_vect_and_zero_ptr ( void **  )

Definition at line 83 of file lib_vec.cpp.

84 {
85  if (*pvect) {
86  free(*pvect);
87  *pvect = 0;
88  }
89 }
free((char *) ob)

◆ zero_mat()

void zero_mat ( double **  ,
unsigned  long,
unsigned  long 
)

Definition at line 38 of file lib_vec.cpp.

39 {
40  memset(mat[0], 0, len_i * len_j * sizeof(double));
41 }

◆ zero_vect()

void zero_vect ( double *  ,
unsigned  long 
)

Definition at line 26 of file lib_vec.cpp.

27 {
28  memset(vect, 0, len * sizeof(double));
29 }
#define len