Robotran C Documentation
mbs_1D_array.h
Go to the documentation of this file.
1 
13 #ifndef MBS_1D_ARRAY_h
14 #define MBS_1D_ARRAY_h
15 
16 #include <stdio.h>
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 /* Functions related to arrays of doubles */
33 double *mbs_linspace_0(double start, double stop, int num);
34 
46 double *mbs_linspace_1(double start, double stop, int num);
63 double *mbs_arange_0(double start, double stop, double step, int with_end, int *size);
64 
82 double *mbs_drand_0(int num, double min, double max);
83 
95 double *mbs_drand_1(int num, double min, double max);
96 
120 int get_dinterval_binary_0(double *array, int size, double value, int *index, int lim_check);
121 
145 int get_dinterval_binary_1(double *array, int size, double value, int *index, int lim_check);
146 
173 int get_dinterval_binary_from_index_0(double *array, int size, double value, int *index, int lim_check, int verbose);
174 
199 int get_dinterval_binary_from_index_1(double *array, int size, double value, int *index, int lim_check, int verbose);
200 
201 /* Functions related to arrays of integers */
216 int save_ivec_0(int *vec, int size,char *name, int row);
217 
232 int save_ivec_1(int *vec, int size,char *name, int row);
233 
243 double scalar_product(double v1[4], double v2[4]);
244 
255 double scalar_product_0(double* v1, double* v2, int n);
256 
265 void vector_sum(double v1[4], double v2[4], double v_dest[4]);
266 
276 void sum_dvec_0(double *v1, double *v2, int size, double *v_dest);
277 
286 void vector_diff(double v1[4], double v2[4], double v_dest[4]);
287 
297 void diff_dvec_0(double *v1, double *v2, int size, double *v_dest);
298 
307 void cross_product(double v1[4], double v2[4], double v_dest[4]);
308 
317 void number_product(double s, double v1[4], double v_dest[4]);
318 
319 // integer related functions
325 int* get_ivec_0(int l_v);
331 int* get_ivec_1(int l_v);
336 void free_ivec_0(int* vec);
341 void free_ivec_1(int* vec);
342 
349 void copy_ivec_0(int* vec_src, int* vec_dest, int l_v);
356 void copy_ivec_1(int* vec_src, int* vec_dest, int l_v);
357 
368 int *re_copy_ivec_0(int *src, int s_nx, int *dest, int d_nx);
369 
380 int *re_copy_ivec_0(int *src, int s_nx, int *dest, int d_nx);
381 
387 void print_ivec_0(int* vec, int l_v);
392 void print_ivec_1(int* vec);
393 
406 int code_ivec_0(FILE *file_out, int *values, const char *name, int size);
407 
420 int code_ivec_1(FILE *file_out, int *values, const char *name, int size);
421 
422 
429 void sort_ivec_0(int* vec_src, int* vec_dest, int l_v);
430 
437 void sort_dvec_0(double* vec_src, double* vec_dest, int l_v);
438 
445 void sort_ivec_1(int* vec_src, int* vec_dest, int l_v);
452 void sort_inplace_ivec_1(int* vec, int l_v);
458 void f0123_ivec_0(int* vec, int l_v);
467 void conc_ivec_0(int* vec1_src, int l_v1, int* vec2_src, int l_v2, int* vec_dest);
476 void conc_ivec_1(int* vec1_src, int l_v1, int* vec2_src, int l_v2, int* vec3);
477 
488 int slct_ivec_0(int* vec1_src, int l_v1, int* vec_ind_src, int l_v2, int* vec1_dest);
489 
498 int find_ivec_0(int* vec, int l_v, int f);
499 
508 int find_dvec_0(double* vec, int l_v, double f);
509 
518 int find_ivec_1(int* vec, int l_v, int f);
519 
528 int same_ivec_0(int* v1, int* v2, int size);
529 
537 int same_ivec_1(int* v1, int* v2);
538 
539 // double related functions
545 double* get_dvec_0(int l_v);
551 double* get_dvec_1(int l_v);
552 
557 void free_dvec_0(double* vec);
562 void free_dvec_1(double* vec);
563 
570 void copy_dvec_0(double* vec_src, double* vec_dest, int l_v);
576 void copy_dvec_1(double* vec_src, double* vec_dest);
577 
587 double *convert_dvec_0_to_1(double *src, int size, int free_src);
588 
598 double *convert_dvec_1_to_0(double *src, int size, int free_src);
599 
611 double *re_copy_dvec_0(double *src, int s_nx, double *dest, int d_nx);
623 double *re_copy_dvec_1(double *src, int s_nx, double *dest, int d_nx);
624 
632 void print_dvec_0(double* vec, int nb_r);
633 
640 void print_format_dvec_0(double* vec, int nb_r, char* format);
641 
646 void print_dvec_1(double* vec);
647 
660 int code_dvec_0(FILE *file_out, double *values, const char *name, int size);
661 
674 int code_dvec_1(FILE *file_out, double *values, const char *name, int size);
675 
683 void save_dvec_0(double* vec, int nb_r, char* name);
684 
695 void pick_and_place_dvec_1(double* src, int* index, int n, double* dest);
696 
707 void pick_and_place_dvec_0(double* src, int* index, int n, double* dest);
708 
716 void slct_dvec_1(double* vec1_src, int* vec_ind_src, int l_v, double* vec3);
717 
728 int slct_dvec_0(double* vec1_src, int l_v1, int* vec_ind_src, int l_v2, double* vec_dest);
729 
737 int any_dvec_0(double* vec, int l_v);
738 
745 void value_dvec_0(double value, double* vec, int l_v);
751 void value_dvec_1(double value, double* vec);
757 void zeros_dvec_0(double* vec, int l_v);
762 void zeros_dvec_1(double* vec);
763 
769 void opposite_dvec_0(double* vec, int n);
770 
775 void opposite_dvec_1(double* vec);
776 
785 int same_dvec_0(double* v1, double* v2, int size);
786 
794 int same_dvec_1(double* v1, double* v2);
795 
805 int max_dvec_0(double* vec, int size);
806 
815 int max_dvec_1(double* vec);
816 
817 /********************************************
818  * NORM-related functions *
819  ********************************************/
820 
830 double norm(double v[4]);
831 
841 void normalize(double v[4], double vn[4]);
842 
850 double norm_dvec_0(double* vec, int l_v);
858 double norm_dvec_1(double* vec, int l_v);
867 void normalize_dvec_0(double* vec, double* vn, int l_v);
877 void normalize_dvec_1(double* vec, double* vn, int l_v);
878 
886 double norminf_vector_1(double *v, int n);
887 
888 
889 #ifdef __cplusplus
890 }
891 #endif
892 
893 #endif
pick_and_place_dvec_0
void pick_and_place_dvec_0(double *src, int *index, int n, double *dest)
Pick the values from an array and set them in the destination array at the specified index.
Definition: mbs_1D_array.c:1314
code_dvec_0
int code_dvec_0(FILE *file_out, double *values, const char *name, int size)
Write C-code to allocate and fill an array of double.
Definition: mbs_1D_array.c:1120
print_format_dvec_0
void print_format_dvec_0(double *vec, int nb_r, char *format)
print a (x sized) vector of doubles in console, starting with index 0
Definition: mbs_1D_array.c:1098
re_copy_dvec_0
double * re_copy_dvec_0(double *src, int s_nx, double *dest, int d_nx)
Copy an array of double into another, reallocate the destination if required.
Definition: mbs_1D_array.c:1044
code_ivec_0
int code_ivec_0(FILE *file_out, int *values, const char *name, int size)
Write C-code to allocate and fill an array of integers.
Definition: mbs_1D_array.c:611
free_ivec_1
void free_ivec_1(int *vec)
release memory for a vector of integers, starting with index 1
Definition: mbs_1D_array.c:495
slct_dvec_0
int slct_dvec_0(double *vec_src, int l_v1, int *vec_ind_src, int l_v2, double *vec_dest)
fill the third (l_v2 sized) vector by slicing the first (l_v1 sized) vector of doubles at the indexes...
Definition: mbs_1D_array.c:1333
save_ivec_1
int save_ivec_1(int *vec, int size, char *name, int row)
save a (x sized) vector of integers in the specified file, starting with index 0 The file is open wit...
Definition: mbs_1D_array.c:398
conc_ivec_0
void conc_ivec_0(int *vec1_src, int l_v1, int *vec2_src, int l_v2, int *vec_dest)
concatenate the first (l_v1 sized) vector and the second (l_v2 sized) vectors of integers into the th...
Definition: mbs_1D_array.c:827
mbs_drand_1
double * mbs_drand_1(int num, double min, double max)
Allocate an array with the specified random number in the specified range.
Definition: mbs_1D_array.c:208
sort_inplace_ivec_1
void sort_inplace_ivec_1(int *vec, int l_v)
sort and modify the (x sized) vector of integers, starting with index 1 The "Bubble sort" is used,...
Definition: mbs_1D_array.c:799
diff_dvec_0
void diff_dvec_0(double *v1, double *v2, int size, double *v_dest)
Subtract each component of 2 array in a third vector.
Definition: mbs_1D_array.c:453
mbs_msg
void mbs_msg(const char *msg,...)
Send a message.
Definition: mbs_message.c:87
norm_dvec_1
double norm_dvec_1(double *vec, int l_v)
compute the norm of a [l_v sized] vector of doubles, starting with index 1
Definition: norm.c:67
copy_dvec_0
void copy_dvec_0(double *vec_src, double *vec_dest, int l_v)
Copy the content of a vector (of sizel_v) of doubles to a second vector, starting with index 0.
Definition: mbs_1D_array.c:981
print_dvec_0
void print_dvec_0(double *vec, int l_v)
print a (x sized) vector of doubles in console, starting with index 0
Definition: mbs_1D_array.c:1093
conc_ivec_0
void conc_ivec_0(int *vec1_src, int l_vec1, int *vec2_src, int l_vec2, int *vec_dest)
concatenate the first (l_v1 sized) vector and the second (l_v2 sized) vectors of integers into the th...
Definition: mbs_1D_array.c:827
find_ivec_1
int find_ivec_1(int *vec, int l_v, int f)
return the index of the value f in the (x sized) vector vec of integers, starting with index 1....
Definition: mbs_1D_array.c:907
find_ivec_0
int find_ivec_0(int *vec, int l_v, int f)
return the index of the value f in the (x sized) vector vec of integers, starting with index 0....
Definition: mbs_1D_array.c:877
code_ivec_1
int code_ivec_1(FILE *file_out, int *values, const char *name, int size)
Write C-code to allocate and fill an array of integers.
Definition: mbs_1D_array.c:656
norm
double norm(double v[4])
DEPRECATED: See norm_dvec_1().
Definition: norm.c:27
mbs_drand_0
double * mbs_drand_0(int num, double min, double max)
Allocate an array with the specified random number in the specified range.
Definition: mbs_1D_array.c:173
max_dvec_1
int max_dvec_1(double *vec)
Find the index of the maximum value in the vector.
Definition: mbs_1D_array.c:1466
print_dvec_0
void print_dvec_0(double *vec, int nb_r)
print a (x sized) vector of doubles in console, starting with index 0
Definition: mbs_1D_array.c:1093
scalar_product
double scalar_product(double v1[4], double v2[4])
Compute and return the scalar product of 2 vectors with first index is 1.
Definition: mbs_1D_array.c:414
zeros_dvec_1
void zeros_dvec_1(double *vec)
set all the element of a vector of doubles to zero, starting with index 1
Definition: mbs_1D_array.c:1393
normalize_dvec_0
void normalize_dvec_0(double *vec, double *vn, int l_v)
Compute the normalize vector with starting with index 0.
Definition: norm.c:79
scalar_product_0
double scalar_product_0(double *v1, double *v2, int n)
Compute and return the scalar product of 2 vectors with first index is 0.
Definition: mbs_1D_array.c:420
re_copy_ivec_1
int * re_copy_ivec_1(int *src, int s_nx, int *dest, int d_nx)
Definition: mbs_1D_array.c:549
value_dvec_1
void value_dvec_1(double value, double *vec)
set all the element of a vector of doubles to zero, starting with index 1
Definition: mbs_1D_array.c:1378
get_dvec_0
double * get_dvec_0(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 0
Definition: mbs_1D_array.c:955
max_dvec_0
int max_dvec_0(double *vec, int size)
Find the index of the maximum value in the array.
Definition: mbs_1D_array.c:1444
same_ivec_1
int same_ivec_1(int *v1, int *v2)
Compare if two vector are the same.
Definition: mbs_1D_array.c:939
free_ivec_0
void free_ivec_0(int *vec)
release memory for a vector of integers, starting with index 0
Definition: mbs_1D_array.c:490
get_dinterval_binary_from_index_1
int get_dinterval_binary_from_index_1(double *array, int size, double value, int *index, int lim_check, int verbose)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:341
sort_dvec_0
void sort_dvec_0(double *vec_src, double *vec_dest, int l_v)
sort the first (l_v sized) vector of double into the second vector, starting with index 0
Definition: mbs_1D_array.c:727
mbs_linspace_1
double * mbs_linspace_1(double start, double stop, int num)
Allocate an evenly spaced numbers over the specified range.
Definition: mbs_1D_array.c:80
find_dvec_0
int find_dvec_0(double *vec, int l_v, double f)
return the index of the value f in the (x sized) vector vec of doubles, starting with index 0....
Definition: mbs_1D_array.c:892
print_ivec_1
void print_ivec_1(int *vec)
print a vector (of size specified in vec[0]) of integers in console, starting with index 1
Definition: mbs_1D_array.c:590
get_dvec_1
double * get_dvec_1(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 1
Definition: mbs_1D_array.c:960
code_dvec_0
int code_dvec_0(FILE *file_out, double *values, const char *name, int size)
Write C-code to allocate and fill an array of double.
Definition: mbs_1D_array.c:1120
f0123_ivec_0
void f0123_ivec_0(int *vec, int l_v)
Fill the (l_v sized) vector of integers as [0 1 2 3 ... l_v-1], starting with index 0.
Definition: mbs_1D_array.c:817
print_dvec_1
void print_dvec_1(double *vec)
print a vector (of size specified in vec[0]) of doubles in console, starting with index 1
Definition: mbs_1D_array.c:1250
code_ivec_0
int code_ivec_0(FILE *file_out, int *values, const char *name, int size)
Write C-code to allocate and fill an array of integers.
Definition: mbs_1D_array.c:611
normalize
void normalize(double v[4], double vn[4])
DEPRECATED: See normalize_dvec_1()
Definition: norm.c:33
any_dvec_0
int any_dvec_0(double *vec, int l_v)
check if all values of a [l_v sized] vector of doubles are equal to 0, return 0 in that case,...
Definition: mbs_1D_array.c:1352
sort_ivec_0
void sort_ivec_0(int *vec_src, int *vec_dest, int l_v)
sort the first (l_v sized) vector of integers into the second vector, starting with index 0
Definition: mbs_1D_array.c:691
same_dvec_1
int same_dvec_1(double *v1, double *v2)
Compare if two vector of floats are the same.
Definition: mbs_1D_array.c:1429
pick_and_place_dvec_1
void pick_and_place_dvec_1(double *src, int *index, int n, double *dest)
Pick the values from an array and set them in the destination array at the specified index.
Definition: mbs_1D_array.c:1305
sort_ivec_1
void sort_ivec_1(int *vec_src, int *vec_dest, int l_v)
sort the first (x sized) vector of integers into the second vector, starting with index 1
Definition: mbs_1D_array.c:763
save_dvec_0
void save_dvec_0(double *vec, int nb_r, char *name)
save a (x sized) vector of doubles in the specified file, starting with index 0 The file is open with...
Definition: mbs_1D_array.c:1280
opposite_dvec_1
void opposite_dvec_1(double *vec)
function to take the opposite of a given vector (minus in front of each entry)
Definition: mbs_1D_array.c:1408
mbs_warning_msg
void mbs_warning_msg(const char *msg,...)
Send a warning message.
Definition: mbs_message.c:100
get_ivec_0
int * get_ivec_0(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 0
Definition: mbs_1D_array.c:474
get_dinterval_binary_0
int get_dinterval_binary_0(double *array, int size, double value, int *index, int lim_check)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:244
save_ivec_0
int save_ivec_0(int *vec, int size, char *name, int row)
save a (x sized) vector of integers in the specified file, starting with index 0 The file is open wit...
Definition: mbs_1D_array.c:353
copy_dvec_1
void copy_dvec_1(double *vec_src, double *vec_dest)
Copy the content of a vector (of size specified in vec_src[0]) of doubles to a second vector,...
Definition: mbs_1D_array.c:991
number_product
void number_product(double s, double v1[4], double v_dest[4])
Compute the product of a vector by a real. The first index is 1.
Definition: mbs_1D_array.c:468
free_dvec_1
void free_dvec_1(double *vec)
release memory for a vector of doubles, starting at index 1
Definition: mbs_1D_array.c:976
mbs_1D_array.h
get_dinterval_binary_from_index_0
int get_dinterval_binary_from_index_0(double *array, int size, double value, int *index, int lim_check, int verbose)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:289
vector_diff
void vector_diff(double v1[4], double v2[4], double v_dest[4])
Subtract each component of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:446
binary_search_0
int binary_search_0(double *array, double value, int id_min, int id_max)
Definition: mbs_1D_array.c:227
norm_dvec_0
double norm_dvec_0(double *vec, int l_v)
compute the norm of a [l_v sized] vector of doubles, starting with index 0
Definition: norm.c:55
save_dvec_0
void save_dvec_0(double *vec, int l_v, char *name)
save a (x sized) vector of doubles in the specified file, starting with index 0 The file is open with...
Definition: mbs_1D_array.c:1280
slct_ivec_0
int slct_ivec_0(int *vec_src, int l_vec1, int *vec_ind_src, int l_vec2, int *vec_dest)
fill the third (l_v2 sized) vector by slicing the first (l_v1 sized) vector of integers at the indexe...
Definition: mbs_1D_array.c:858
get_ivec_1
int * get_ivec_1(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 1
Definition: mbs_1D_array.c:479
cross_product
void cross_product(double v1[4], double v2[4], double v_dest[4])
Compute the cross product of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:461
same_ivec_0
int same_ivec_0(int *v1, int *v2, int size)
Compare if two vector are the same.
Definition: mbs_1D_array.c:922
scalar_product
double scalar_product(double v1[4], double v2[4])
Compute and return the scalar product of 2 vectors with first index is 1.
Definition: mbs_1D_array.c:414
norminf_vector_1
double norminf_vector_1(double *v, int n)
Compute the maximum of a vector.
Definition: norm.c:38
slct_dvec_0
int slct_dvec_0(double *vec1_src, int l_v1, int *vec_ind_src, int l_v2, double *vec_dest)
fill the third (l_v2 sized) vector by slicing the first (l_v1 sized) vector of doubles at the indexes...
Definition: mbs_1D_array.c:1333
copy_ivec_1
void copy_ivec_1(int *vec_src, int *vec_dest, int l_v)
Copy the content of a vector (of size l_v) of integers to a second vector, starting with index 1.
Definition: mbs_1D_array.c:510
get_dvec_0
double * get_dvec_0(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 0
Definition: mbs_1D_array.c:955
convert_dvec_0_to_1
double * convert_dvec_0_to_1(double *src, int size, int free_src)
Copy a dvec0 into a new allocated dvec1.
Definition: mbs_1D_array.c:1009
mbs_linspace_0
double * mbs_linspace_0(double start, double stop, int num)
Allocate an evenly spaced numbers over the specified range.
Definition: mbs_1D_array.c:60
free_dvec_0
void free_dvec_0(double *vec)
release memory for a vector of doubles, starting at index 0
Definition: mbs_1D_array.c:971
code_dvec_1
int code_dvec_1(FILE *file_out, double *values, const char *name, int size)
Write C-code to allocate and fill an array of double.
Definition: mbs_1D_array.c:1190
save_ivec_1
int save_ivec_1(int *vec, int size, char *name, int row)
save a (x sized) vector of integers in the specified file, starting with index 0 The file is open wit...
Definition: mbs_1D_array.c:398
mbs_drand_1
double * mbs_drand_1(int num, double min, double max)
Allocate an array with the specified random number in the specified range.
Definition: mbs_1D_array.c:208
mbs_arange_0
double * mbs_arange_0(double start, double stop, double step, int with_end, int *size)
Allocate an a array with specified step between two values.
Definition: mbs_1D_array.c:100
print_dvec_1
void print_dvec_1(double *vec)
print a vector (of size specified in vec[0]) of doubles in console, starting with index 1
Definition: mbs_1D_array.c:1250
zeros_dvec_0
void zeros_dvec_0(double *vec, int l_v)
set all the element of a [l_v sized] vector of doubles to zero, starting with index 0
Definition: mbs_1D_array.c:1383
value_dvec_0
void value_dvec_0(double value, double *vec, int l_v)
set all the element of a [l_v sized] vector of doubles to a value, starting with index 0
Definition: mbs_1D_array.c:1368
opposite_dvec_1
void opposite_dvec_1(double *vec)
function to take the opposite of a given vector (minus in front of each entry)
Definition: mbs_1D_array.c:1408
vector_sum
void vector_sum(double v1[4], double v2[4], double v_dest[4])
Sum each component of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:431
get_dinterval_binary_0
int get_dinterval_binary_0(double *array, int size, double value, int *index, int lim_check)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:244
code_ivec_1
int code_ivec_1(FILE *file_out, int *values, const char *name, int size)
Write C-code to allocate and fill an array of integers.
Definition: mbs_1D_array.c:656
sum_dvec_0
void sum_dvec_0(double *v1, double *v2, int size, double *v_dest)
Sum each component of 2 array in a third vector.
Definition: mbs_1D_array.c:438
print_ivec_0
void print_ivec_0(int *vec, int l_v)
print a (l_v sized) vector of integers in console, starting with index 0
Definition: mbs_1D_array.c:569
convert_dvec_1_to_0
double * convert_dvec_1_to_0(double *src, int size, int free_src)
Copy a dvec1 into a new allocated dvec0.
Definition: mbs_1D_array.c:1025
free_dvec_1
void free_dvec_1(double *vec)
release memory for a vector of doubles, starting at index 1
Definition: mbs_1D_array.c:976
get_dinterval_binary_1
int get_dinterval_binary_1(double *array, int size, double value, int *index, int lim_check)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:278
vector_diff
void vector_diff(double v1[4], double v2[4], double v_dest[4])
Subtract each component of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:446
max_dvec_1
int max_dvec_1(double *vec)
Find the index of the maximum value in the vector.
Definition: mbs_1D_array.c:1466
copy_ivec_0
void copy_ivec_0(int *vec_src, int *vec_dest, int l_v)
Copy the content of a vector(of size l_v) of integers to a second vector, starting with index 0.
Definition: mbs_1D_array.c:500
re_copy_dvec_1
double * re_copy_dvec_1(double *src, int s_nx, double *dest, int d_nx)
Copy an array of double into another, reallocate the destination if required.
Definition: mbs_1D_array.c:1073
pick_and_place_dvec_0
void pick_and_place_dvec_0(double *src, int *index, int n, double *dest)
Pick the values from an array and set them in the destination array at the specified index.
Definition: mbs_1D_array.c:1314
cross_product
void cross_product(double v1[4], double v2[4], double v_dest[4])
Compute the cross product of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:461
free_ivec_0
void free_ivec_0(int *vec)
release memory for a vector of integers, starting with index 0
Definition: mbs_1D_array.c:490
get_dinterval_binary_from_index_1
int get_dinterval_binary_from_index_1(double *array, int size, double value, int *index, int lim_check, int verbose)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:341
re_copy_dvec_0
double * re_copy_dvec_0(double *src, int s_nx, double *dest, int d_nx)
Copy an array of double into another, reallocate the destination if required.
Definition: mbs_1D_array.c:1044
sort_dvec_0
void sort_dvec_0(double *vec_src, double *vec_dest, int l_v)
sort the first (l_v sized) vector of double into the second vector, starting with index 0
Definition: mbs_1D_array.c:727
print_format_dvec_0
void print_format_dvec_0(double *vec, int l_v, char *format)
print a (x sized) vector of doubles in console, starting with index 0
Definition: mbs_1D_array.c:1098
find_dvec_0
int find_dvec_0(double *vec, int l_v, double f)
return the index of the value f in the (x sized) vector vec of doubles, starting with index 0....
Definition: mbs_1D_array.c:892
print_ivec_1
void print_ivec_1(int *vec)
print a vector (of size specified in vec[0]) of integers in console, starting with index 1
Definition: mbs_1D_array.c:590
sort_inplace_ivec_1
void sort_inplace_ivec_1(int *vec, int l_v)
sort and modify the (x sized) vector of integers, starting with index 1 The "Bubble sort" is used,...
Definition: mbs_1D_array.c:799
convert_dvec_0_to_1
double * convert_dvec_0_to_1(double *src, int size, int free_src)
Copy a dvec0 into a new allocated dvec1.
Definition: mbs_1D_array.c:1009
diff_dvec_0
void diff_dvec_0(double *v1, double *v2, int size, double *v_dest)
Subtract each component of 2 array in a third vector.
Definition: mbs_1D_array.c:453
f0123_ivec_0
void f0123_ivec_0(int *vec, int l_v)
Fill the (l_v sized) vector of integers as [0 1 2 3 ... l_v-1], starting with index 0.
Definition: mbs_1D_array.c:817
mbs_message.h
re_copy_ivec_0
int * re_copy_ivec_0(int *src, int s_nx, int *dest, int d_nx)
Copy an array of int into another, reallocate the destination if required.
Definition: mbs_1D_array.c:520
same_dvec_0
int same_dvec_0(double *v1, double *v2, int size)
Compare if two vector of floats are the same.
Definition: mbs_1D_array.c:1413
any_dvec_0
int any_dvec_0(double *vec, int l_v)
check if all values of a [l_v sized] vector of doubles are equal to 0, return 0 in that case,...
Definition: mbs_1D_array.c:1352
same_dvec_1
int same_dvec_1(double *v1, double *v2)
Compare if two vector of floats are the same.
Definition: mbs_1D_array.c:1429
sort_ivec_1
void sort_ivec_1(int *vec_src, int *vec_dest, int l_v)
sort the first (x sized) vector of integers into the second vector, starting with index 1
Definition: mbs_1D_array.c:763
re_copy_ivec_0
int * re_copy_ivec_0(int *src, int s_nx, int *dest, int d_nx)
Copy an array of int into another, reallocate the destination if required.
Definition: mbs_1D_array.c:520
get_ivec_0
int * get_ivec_0(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 0
Definition: mbs_1D_array.c:474
zeros_dvec_0
void zeros_dvec_0(double *vec, int l_v)
set all the element of a [l_v sized] vector of doubles to zero, starting with index 0
Definition: mbs_1D_array.c:1383
slct_dvec_1
void slct_dvec_1(double *vec1_src, int *vec_ind_src, int l_v, double *vec3)
fill the third vector by slicing the first vector of doubles at the indexes specified in the second (...
Definition: mbs_1D_array.c:1323
get_dinterval_binary_from_index_0
int get_dinterval_binary_from_index_0(double *array, int size, double value, int *index, int lim_check, int verbose)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:289
opposite_dvec_0
void opposite_dvec_0(double *vec, int n)
function to take the opposite of a given vector (minus in front of each entry)
Definition: mbs_1D_array.c:1398
conc_ivec_1
void conc_ivec_1(int *vec1_src, int l_v1, int *vec2_src, int l_v2, int *vec3)
concatenate the first (l_v1 sized) vector and the second (l_v2 sized) vectors of integers into the th...
Definition: mbs_1D_array.c:842
vector_sum
void vector_sum(double v1[4], double v2[4], double v_dest[4])
Sum each component of 2 vectors in a third vector. The first index is 1.
Definition: mbs_1D_array.c:431
normalize_dvec_1
void normalize_dvec_1(double *vec, double *vn, int l_v)
Compute the normalize vector with first index is 1.
Definition: norm.c:92
zeros_dvec_1
void zeros_dvec_1(double *vec)
set all the element of a vector of doubles to zero, starting with index 1
Definition: mbs_1D_array.c:1393
slct_ivec_0
int slct_ivec_0(int *vec1_src, int l_v1, int *vec_ind_src, int l_v2, int *vec1_dest)
fill the third (l_v2 sized) vector by slicing the first (l_v1 sized) vector of integers at the indexe...
Definition: mbs_1D_array.c:858
convert_dvec_1_to_0
double * convert_dvec_1_to_0(double *src, int size, int free_src)
Copy a dvec1 into a new allocated dvec0.
Definition: mbs_1D_array.c:1025
max_dvec_0
int max_dvec_0(double *vec, int size)
Find the index of the maximum value in the array.
Definition: mbs_1D_array.c:1444
same_ivec_0
int same_ivec_0(int *v1, int *v2, int size)
Compare if two vector are the same.
Definition: mbs_1D_array.c:922
free_ivec_1
void free_ivec_1(int *vec)
release memory for a vector of integers, starting with index 1
Definition: mbs_1D_array.c:495
mbs_linspace_1
double * mbs_linspace_1(double start, double stop, int num)
Allocate an evenly spaced numbers over the specified range.
Definition: mbs_1D_array.c:80
copy_ivec_0
void copy_ivec_0(int *vec_src, int *vec_dest, int l_v)
Copy the content of a vector(of size l_v) of integers to a second vector, starting with index 0.
Definition: mbs_1D_array.c:500
re_copy_dvec_1
double * re_copy_dvec_1(double *src, int s_nx, double *dest, int d_nx)
Copy an array of double into another, reallocate the destination if required.
Definition: mbs_1D_array.c:1073
copy_ivec_1
void copy_ivec_1(int *vec_src, int *vec_dest, int l_v)
Copy the content of a vector (of size l_v) of integers to a second vector, starting with index 1.
Definition: mbs_1D_array.c:510
mbs_linspace_0
double * mbs_linspace_0(double start, double stop, int num)
Allocate an evenly spaced numbers over the specified range.
Definition: mbs_1D_array.c:60
get_dvec_1
double * get_dvec_1(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 1
Definition: mbs_1D_array.c:960
mbs_linspace
int mbs_linspace(double start, double stop, int num, double *linspace)
Definition: mbs_1D_array.c:25
copy_dvec_0
void copy_dvec_0(double *vec_src, double *vec_dest, int l_v)
Copy the content of a vector (of sizel_v) of doubles to a second vector, starting with index 0.
Definition: mbs_1D_array.c:981
free_dvec_0
void free_dvec_0(double *vec)
release memory for a vector of doubles, starting at index 0
Definition: mbs_1D_array.c:971
code_dvec_1
int code_dvec_1(FILE *file_out, double *values, const char *name, int size)
Write C-code to allocate and fill an array of double.
Definition: mbs_1D_array.c:1190
sort_ivec_0
void sort_ivec_0(int *vec_src, int *vec_dest, int l_v)
sort the first (l_v sized) vector of integers into the second vector, starting with index 0
Definition: mbs_1D_array.c:691
slct_dvec_1
void slct_dvec_1(double *vec_src, int *vec_ind_src, int l_v, double *vec_dest)
fill the third vector by slicing the first vector of doubles at the indexes specified in the second (...
Definition: mbs_1D_array.c:1323
pick_and_place_dvec_1
void pick_and_place_dvec_1(double *src, int *index, int n, double *dest)
Pick the values from an array and set them in the destination array at the specified index.
Definition: mbs_1D_array.c:1305
conc_ivec_1
void conc_ivec_1(int *vec1_src, int l_vec1, int *vec2_src, int l_vec2, int *vec_dest)
concatenate the first (l_v1 sized) vector and the second (l_v2 sized) vectors of integers into the th...
Definition: mbs_1D_array.c:842
find_ivec_1
int find_ivec_1(int *vec, int l_v, int f)
return the index of the value f in the (x sized) vector vec of integers, starting with index 1....
Definition: mbs_1D_array.c:907
save_ivec_0
int save_ivec_0(int *vec, int size, char *name, int row)
save a (x sized) vector of integers in the specified file, starting with index 0 The file is open wit...
Definition: mbs_1D_array.c:353
find_ivec_0
int find_ivec_0(int *vec, int l_v, int f)
return the index of the value f in the (x sized) vector vec of integers, starting with index 0....
Definition: mbs_1D_array.c:877
copy_dvec_1
void copy_dvec_1(double *vec_src, double *vec_dest)
Copy the content of a vector (of size specified in vec_src[0]) of doubles to a second vector,...
Definition: mbs_1D_array.c:991
number_product
void number_product(double s, double v1[4], double v_dest[4])
Compute the product of a vector by a real. The first index is 1.
Definition: mbs_1D_array.c:468
mbs_arange_0
double * mbs_arange_0(double start, double stop, double step, int with_end, int *size)
Allocate an a array with specified step between two values.
Definition: mbs_1D_array.c:100
same_dvec_0
int same_dvec_0(double *v1, double *v2, int size)
Compare if two vector of floats are the same.
Definition: mbs_1D_array.c:1413
value_dvec_0
void value_dvec_0(double value, double *vec, int l_v)
set all the element of a [l_v sized] vector of doubles to a value, starting with index 0
Definition: mbs_1D_array.c:1368
mbs_drand_0
double * mbs_drand_0(int num, double min, double max)
Allocate an array with the specified random number in the specified range.
Definition: mbs_1D_array.c:173
sum_dvec_0
void sum_dvec_0(double *v1, double *v2, int size, double *v_dest)
Sum each component of 2 array in a third vector.
Definition: mbs_1D_array.c:438
print_ivec_0
void print_ivec_0(int *vec, int l_v)
print a (l_v sized) vector of integers in console, starting with index 0
Definition: mbs_1D_array.c:569
scalar_product_0
double scalar_product_0(double *v1, double *v2, int n)
Compute and return the scalar product of 2 vectors with first index is 0.
Definition: mbs_1D_array.c:420
value_dvec_1
void value_dvec_1(double value, double *vec)
set all the element of a vector of doubles to zero, starting with index 1
Definition: mbs_1D_array.c:1378
get_dinterval_binary_1
int get_dinterval_binary_1(double *array, int size, double value, int *index, int lim_check)
Find the index of the highest value in the array lower or equal than the value.
Definition: mbs_1D_array.c:278
opposite_dvec_0
void opposite_dvec_0(double *vec, int n)
function to take the opposite of a given vector (minus in front of each entry)
Definition: mbs_1D_array.c:1398
get_ivec_1
int * get_ivec_1(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 1
Definition: mbs_1D_array.c:479
same_ivec_1
int same_ivec_1(int *v1, int *v2)
Compare if two vector are the same.
Definition: mbs_1D_array.c:939